public/ckeditor/_source/plugins/wysiwygarea/plugin.js
function( data )
					{
						if ( iframe )
							iframe.remove();

						var src =
							'document.open();' +

							// The document domain must be set any time we
							// call document.open().
							( isCustomDomain ? ( 'document.domain="' + document.domain + '";' ) : '' ) +

							'document.close();';

						// With IE, the custom domain has to be taken care at first,
						// for other browers, the 'src' attribute should be left empty to
						// trigger iframe's 'load' event.
  						src =
							CKEDITOR.env.air ?
								'javascript:void(0)' :
							CKEDITOR.env.ie ?
								'javascript:void(function(){' + encodeURIComponent( src ) + '}())'
							:
								'';

						iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
  							' style="width:100%;height:100%"' +
  							' frameBorder="0"' +
  							' title="' + frameLabel + '"' +
  							' src="' + src + '"' +
							' tabIndex="' + ( CKEDITOR.env.webkit? -1 : editor.tabIndex ) + '"' +
  							' allowTransparency="true"' +
  							'></iframe>' );

						// Running inside of Firefox chrome the load event doesn't bubble like in a normal page (#5689)
						if ( document.location.protocol == 'chrome:' )
							CKEDITOR.event.useCapture = true;

						// With FF, it's better to load the data on iframe.load. (#3894,#4058)
						iframe.on( 'load', function( ev )
							{
								frameLoaded = 1;
								ev.removeListener();

								var doc = iframe.getFrameDocument();
								doc.write( data );

								CKEDITOR.env.air && contentDomReady( doc.getWindow().$ );
							});

						// Reset adjustment back to default (#5689)
						if ( document.location.protocol == 'chrome:' )
							CKEDITOR.event.useCapture = false;

						mainElement.append( iframe );
					}
function( data )
					{
						if ( iframe )
							iframe.remove();

						var src =
							'document.open();' +

							// The document domain must be set any time we
							// call document.open().
							( isCustomDomain ? ( 'document.domain="' + document.domain + '";' ) : '' ) +

							'document.close();';

						// With IE, the custom domain has to be taken care at first,
						// for other browers, the 'src' attribute should be left empty to
						// trigger iframe's 'load' event.
  						src =
							CKEDITOR.env.air ?
								'javascript:void(0)' :
							CKEDITOR.env.ie ?
								'javascript:void(function(){' + encodeURIComponent( src ) + '}())'
							:
								'';

						iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
  							' style="width:100%;height:100%"' +
  							' frameBorder="0"' +
  							' title="' + frameLabel + '"' +
  							' src="' + src + '"' +
							' tabIndex="' + ( CKEDITOR.env.webkit? -1 : editor.tabIndex ) + '"' +
  							' allowTransparency="true"' +
  							'></iframe>' );

						// Running inside of Firefox chrome the load event doesn't bubble like in a normal page (#5689)
						if ( document.location.protocol == 'chrome:' )
							CKEDITOR.event.useCapture = true;

						// With FF, it's better to load the data on iframe.load. (#3894,#4058)
						iframe.on( 'load', function( ev )
							{
								frameLoaded = 1;
								ev.removeListener();

								var doc = iframe.getFrameDocument();
								doc.write( data );

								CKEDITOR.env.air && contentDomReady( doc.getWindow().$ );
							});

						// Reset adjustment back to default (#5689)
						if ( document.location.protocol == 'chrome:' )
							CKEDITOR.event.useCapture = false;

						mainElement.append( iframe );
					}
function ( data ) { if ( iframe ) iframe . remove ( ) ; var src = 'document.open();' + // The document domain must be set any time we
 // call document.open().
 ( isCustomDomain ? ( 'document.domain="' + document . domain + '";' ) : '' ) + 'document.close();' ; // With IE, the custom domain has to be taken care at first,
 // for other browers, the 'src' attribute should be left empty to
 // trigger iframe's 'load' event.
 src = CKEDITOR . env . air ? 'javascript:void(0)' : CKEDITOR . env . ie ? 'javascript:void(function(){' + encodeURIComponent ( src ) + '}())' : '' ; iframe = CKEDITOR . dom . element . createFromHtml ( '<iframe' + ' style="width:100%;height:100%"' + ' frameBorder="0"' + ' title="' + frameLabel + '"' + ' src="' + src + '"' + ' tabIndex="' + ( CKEDITOR . env . webkit ? - 1 : editor . tabIndex ) + '"' + ' allowTransparency="true"' + '></iframe>' ) ; // Running inside of Firefox chrome the load event doesn't bubble like in a normal page (#5689)
 if ( document . location . protocol == 'chrome:' ) CKEDITOR . event . useCapture = true ; // With FF, it's better to load the data on iframe.load. (#3894,#4058)
 iframe . on ( 'load' , function ( ev ) { frameLoaded = 1 ; ev . removeListener ( ) ; var doc = iframe . getFrameDocument ( ) ; doc . write ( data ) ; CKEDITOR . env . air && contentDomReady ( doc . getWindow ( ) . $ ) ; } ) ; // Reset adjustment back to default (#5689)
 if ( document . location . protocol == 'chrome:' ) CKEDITOR . event . useCapture = false ; mainElement . append ( iframe ) ; }
Creates the iframe that holds the editable document.
Creates the iframe that holds the editable document .