a:12:{s:9:"#provides";s:20:"dojox.io.scriptFrame";s:9:"#resource";s:17:"io/scriptFrame.js";s:9:"#requires";a:2:{i:0;a:3:{i:0;s:6:"common";i:1;s:14:"dojo.io.script";i:2;s:4:"dojo";}i:1;a:3:{i:0;s:6:"common";i:1;s:14:"dojo.io.iframe";i:2;s:4:"dojo";}}s:20:"dojox.io.scriptFrame";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:25:"dojo.io.script._canAttach";a:6:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:6:"ioArgs";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:905:" var fId = ioArgs.args.frameDoc; if(fId && dojo.isString(fId)){ var frame = dojo.byId(fId); var waiters = scriptFrame._getWaiters(fId); if(!frame){ //Need to create frame, but the frame document, which *must* be //on the same domain as the page (set djConfig.dojoBlankHtmlUrl //if using xdomain loading). Loading of the frame document is asynchronous, //so we need to do callback stuff. waiters.push(ioArgs); dojo.io.iframe.create(fId, dojox._scopeName + ".io.scriptFrame._loaded('" + fId + "');"); }else{ //Frame loading could still be happening. Only call attach if the frame has loaded. if(scriptFrame._loadedIds[fId]){ ioArgs.frameDoc = dojo.io.iframe.doc(frame); this.attach(ioArgs.id, ioArgs.url, ioArgs.frameDoc); }else{ waiters.push(ioArgs); } } return false; }else{ return oldCanAttach.apply(this, arguments); }";s:7:"summary";s:314:"provides an override of dojo.io.script._canAttach to check for the existence of a the args.frameDoc property. If it is there, and it is a string, not a document, then create the iframe with an ID of frameDoc, and use that for the calls. If frameDoc is a document, then dojox.io.scriptFrame should not get involved.";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:12:"oldCanAttach";}}s:7:"private";b:1;}s:29:"dojox.io.scriptFrame._waiters";a:3:{s:4:"type";s:6:"Object";s:7:"private";b:1;s:7:"summary";s:0:"";}s:31:"dojox.io.scriptFrame._loadedIds";a:3:{s:4:"type";s:6:"Object";s:7:"private";b:1;s:7:"summary";s:0:"";}s:32:"dojox.io.scriptFrame._getWaiters";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"frameId";a:1:{s:4:"type";s:6:"String";}}s:6:"source";s:66:" return this._waiters[frameId] || (this._waiters[frameId] = []);";s:7:"private";b:1;s:7:"summary";s:0:"";}s:34:"dojox.io.scriptFrame._fixAttachUrl";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"url";a:1:{s:4:"type";s:6:"String";}}s:6:"source";s:38:" //summary: fixes the URL so that ";s:7:"summary";s:21:"fixes the URL so that";s:7:"private";b:1;}s:28:"dojox.io.scriptFrame._loaded";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:7:"frameId";a:1:{s:4:"type";s:6:"String";}}s:6:"source";s:316:" var waiters = this._getWaiters(frameId); this._loadedIds[frameId] = true; this._waiters[frameId] = null; for(var i = 0; i < waiters.length; i++){ var ioArgs = waiters[i]; ioArgs.frameDoc = dojo.io.iframe.doc(dojo.byId(frameId)); ioScript.attach(ioArgs.id, ioArgs.url, ioArgs.frameDoc); }";s:7:"summary";s:117:"callback used when waiting for a frame to load (related to the usage of the frameId argument to dojo.io.script.get().";s:7:"private";b:1;}s:8:"dojox.io";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}