src/cm/media/js/lib/yui/yui_3.0.0b1/build/io/io-xdr.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
/*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
Code licensed under the BSD License:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
http://developer.yahoo.net/yui/license.txt
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
version: 3.0.0b1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
build: 1163
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
YUI.add('io-xdr', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
    * Extends the IO base class to provide an alternate, Flash transport, for making
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    * cross-domain requests.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
	* @module io
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
	* @submodule io-xdr
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
	*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
	* @event io:xdrReady
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
	* @description This event is fired by YUI.io when the specified transport is
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
	* ready for use.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
	* @type Event Custom
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
	*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
	var E_XDR_READY = 'io:xdrReady';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
	* @description Method that creates the Flash transport swf.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
	* @method _swf
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
	* @private
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
	* @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
	* @param {string} uri - location of IO.swf.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
	* @param {string} yid - YUI instance id.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
	* @return void
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
	*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
	function _swf(uri, yid) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
		var XDR_SWF = '<object id="yuiIoSwf" type="application/x-shockwave-flash" data="' +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
		              uri + '" width="0" height="0">' +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
		     		  '<param name="movie" value="' + uri + '">' +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
		     		  '<param name="FlashVars" value="yid=' + yid + '">' +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
                      '<param name="allowScriptAccess" value="sameDomain">' +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
		    	      '</object>';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
		Y.get('body').appendChild(Y.Node.create(XDR_SWF));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
    Y.mix(Y.io, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
	   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
		* @description Map of IO transports.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
		*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
		* @property _transport
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
		* @private
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
		* @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
		* @type object
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
		*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
		_transport: {},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
	   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
		* @description Object that stores callback handlers for cross-domain requests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
		* when using Flash as the transport.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
		*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
		* @property _fn
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
		* @private
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
		* @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
		* @type object
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
		*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
		_fn: {},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
	   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
	   	* @description Method for accessing the transport's interface for making a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
	   	* cross-domain transaction.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
	   	*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
		* @method _xdr
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
		* @private
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
		* @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
		* @param {string} uri - qualified path to transaction resource.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
    	* @param {object} o - Transaction object generated by _create() in io-base.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
		* @param {object} c - configuration object for the transaction.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
		* @return object
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
		*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
		_xdr: function(uri, o, c) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
			if (c.on) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
				this._fn[o.id] = c.on;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
			o.c.send(uri, c, o.id);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
			return o;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
		},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
	   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
		* @description Fires event "io:xdrReady"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
		*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
		* @method xdrReady
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
		* @private
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
		* @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
		* @param {number} id - transaction id
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
		* @param {object} c - configuration object for the transaction.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
		*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
		* @return void
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
		*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
		xdrReady: function(id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
			Y.fire(E_XDR_READY, id);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
		},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
	   /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
		* @description Method to initialize the desired transport.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
		*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
		* @method transport
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
		* @public
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
		* @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
		* @param {object} o - object of transport configurations.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
		* @return void
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
		*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
		transport: function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
			switch (o.id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
				case 'flash':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
					_swf(o.src, o.yid);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
					this._transport.flash = Y.config.doc.getElementById('yuiIoSwf');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
					break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
	});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
}, '3.0.0b1' ,{requires:['io-base']});