From f0cfe83e3725f9a3928da97a6e3085e79cb25309 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 18 Mar 2013 10:26:24 +0400 Subject: upgrade dojo to 1.8.3 (refs #570) --- lib/dojo/_base/window.js.uncompressed.js | 134 +++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 lib/dojo/_base/window.js.uncompressed.js (limited to 'lib/dojo/_base/window.js.uncompressed.js') diff --git a/lib/dojo/_base/window.js.uncompressed.js b/lib/dojo/_base/window.js.uncompressed.js new file mode 100644 index 000000000..3d23c3a97 --- /dev/null +++ b/lib/dojo/_base/window.js.uncompressed.js @@ -0,0 +1,134 @@ +define("dojo/_base/window", ["./kernel", "./lang", "../sniff"], function(dojo, lang, has){ +// module: +// dojo/_base/window + +var ret = { + // summary: + // API to save/set/restore the global/document scope. + + global: dojo.global, + /*===== + global: { + // summary: + // Alias for the current window. 'global' can be modified + // for temporary context shifting. See also withGlobal(). + // description: + // Use this rather than referring to 'window' to ensure your code runs + // correctly in managed contexts. + }, + =====*/ + + doc: this["document"] || null, + /*===== + doc: { + // summary: + // Alias for the current document. 'doc' can be modified + // for temporary context shifting. See also withDoc(). + // description: + // Use this rather than referring to 'window.document' to ensure your code runs + // correctly in managed contexts. + // example: + // | n.appendChild(dojo.doc.createElement('div')); + }, + =====*/ + + body: function(/*Document?*/ doc){ + // summary: + // Return the body element of the specified document or of dojo/_base/window::doc. + // example: + // | win.body().appendChild(dojo.doc.createElement('div')); + + // Note: document.body is not defined for a strict xhtml document + // Would like to memoize this, but dojo.doc can change vi dojo.withDoc(). + doc = doc || dojo.doc; + return doc.body || doc.getElementsByTagName("body")[0]; // Node + }, + + setContext: function(/*Object*/ globalObject, /*DocumentElement*/ globalDocument){ + // summary: + // changes the behavior of many core Dojo functions that deal with + // namespace and DOM lookup, changing them to work in a new global + // context (e.g., an iframe). The varibles dojo.global and dojo.doc + // are modified as a result of calling this function and the result of + // `dojo.body()` likewise differs. + dojo.global = ret.global = globalObject; + dojo.doc = ret.doc = globalDocument; + }, + + withGlobal: function( /*Object*/ globalObject, + /*Function*/ callback, + /*Object?*/ thisObject, + /*Array?*/ cbArguments){ + // summary: + // Invoke callback with globalObject as dojo.global and + // globalObject.document as dojo.doc. + // description: + // Invoke callback with globalObject as dojo.global and + // globalObject.document as dojo.doc. If provided, globalObject + // will be executed in the context of object thisObject + // When callback() returns or throws an error, the dojo.global + // and dojo.doc will be restored to its previous state. + + var oldGlob = dojo.global; + try{ + dojo.global = ret.global = globalObject; + return ret.withDoc.call(null, globalObject.document, callback, thisObject, cbArguments); + }finally{ + dojo.global = ret.global = oldGlob; + } + }, + + withDoc: function( /*DocumentElement*/ documentObject, + /*Function*/ callback, + /*Object?*/ thisObject, + /*Array?*/ cbArguments){ + // summary: + // Invoke callback with documentObject as dojo/_base/window::doc. + // description: + // Invoke callback with documentObject as dojo/_base/window::doc. If provided, + // callback will be executed in the context of object thisObject + // When callback() returns or throws an error, the dojo/_base/window::doc will + // be restored to its previous state. + + var oldDoc = ret.doc, + oldQ = has("quirks"), + oldIE = has("ie"), isIE, mode, pwin; + + try{ + dojo.doc = ret.doc = documentObject; + // update dojo.isQuirks and the value of the has feature "quirks". + // remove setting dojo.isQuirks and dojo.isIE for 2.0 + dojo.isQuirks = has.add("quirks", dojo.doc.compatMode == "BackCompat", true, true); // no need to check for QuirksMode which was Opera 7 only + + if(has("ie")){ + if((pwin = documentObject.parentWindow) && pwin.navigator){ + // re-run IE detection logic and update dojo.isIE / has("ie") + // (the only time parentWindow/navigator wouldn't exist is if we were not + // passed an actual legitimate document object) + isIE = parseFloat(pwin.navigator.appVersion.split("MSIE ")[1]) || undefined; + mode = documentObject.documentMode; + if(mode && mode != 5 && Math.floor(isIE) != mode){ + isIE = mode; + } + dojo.isIE = has.add("ie", isIE, true, true); + } + } + + if(thisObject && typeof callback == "string"){ + callback = thisObject[callback]; + } + + return callback.apply(thisObject, cbArguments || []); + }finally{ + dojo.doc = ret.doc = oldDoc; + dojo.isQuirks = has.add("quirks", oldQ, true, true); + dojo.isIE = has.add("ie", oldIE, true, true); + } + } +}; + + 1 && lang.mixin(dojo, ret); + +return ret; + +}); -- cgit v1.2.3