Imported Debian patch 4.8.10-2
This commit is contained in:
134
debian/missing-sources/dojo/_base/window.js
vendored
Normal file
134
debian/missing-sources/dojo/_base/window.js
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
define(["./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);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
has("extend-dojo") && lang.mixin(dojo, ret);
|
||||
|
||||
return ret;
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user