2010-11-15 07:39:52 +00:00
|
|
|
/*
|
2011-11-08 16:40:44 +00:00
|
|
|
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
2010-11-15 07:39:52 +00:00
|
|
|
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
|
|
|
see: http://dojotoolkit.org/license for details
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2011-03-04 16:02:28 +00:00
|
|
|
if(!dojo._hasResource["dojo.gears"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
|
|
|
|
dojo._hasResource["dojo.gears"] = true;
|
2010-11-15 07:39:52 +00:00
|
|
|
dojo.provide("dojo.gears");
|
2011-03-04 16:02:28 +00:00
|
|
|
|
2011-11-08 16:40:44 +00:00
|
|
|
dojo.getObject("gears", true, dojo);
|
|
|
|
|
2011-03-04 16:02:28 +00:00
|
|
|
dojo.gears._gearsObject = function(){
|
2011-11-08 16:40:44 +00:00
|
|
|
// summary:
|
2011-03-04 16:02:28 +00:00
|
|
|
// factory method to get a Google Gears plugin instance to
|
|
|
|
// expose in the browser runtime environment, if present
|
|
|
|
var factory;
|
|
|
|
var results;
|
|
|
|
|
|
|
|
var gearsObj = dojo.getObject("google.gears");
|
|
|
|
if(gearsObj){ return gearsObj; } // already defined elsewhere
|
|
|
|
|
|
|
|
if(typeof GearsFactory != "undefined"){ // Firefox
|
|
|
|
factory = new GearsFactory();
|
|
|
|
}else{
|
|
|
|
if(dojo.isIE){
|
|
|
|
// IE
|
|
|
|
try{
|
|
|
|
factory = new ActiveXObject("Gears.Factory");
|
|
|
|
}catch(e){
|
|
|
|
// ok to squelch; there's no gears factory. move on.
|
|
|
|
}
|
|
|
|
}else if(navigator.mimeTypes["application/x-googlegears"]){
|
|
|
|
// Safari?
|
|
|
|
factory = document.createElement("object");
|
|
|
|
factory.setAttribute("type", "application/x-googlegears");
|
|
|
|
factory.setAttribute("width", 0);
|
|
|
|
factory.setAttribute("height", 0);
|
|
|
|
factory.style.display = "none";
|
|
|
|
document.documentElement.appendChild(factory);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// still nothing?
|
|
|
|
if(!factory){ return null; }
|
|
|
|
|
|
|
|
// define the global objects now; don't overwrite them though if they
|
|
|
|
// were somehow set internally by the Gears plugin, which is on their
|
|
|
|
// dev roadmap for the future
|
|
|
|
dojo.setObject("google.gears.factory", factory);
|
|
|
|
return dojo.getObject("google.gears");
|
2010-11-15 07:39:52 +00:00
|
|
|
};
|
2011-03-04 16:02:28 +00:00
|
|
|
|
|
|
|
/*=====
|
|
|
|
dojo.gears.available = {
|
|
|
|
// summary: True if client is using Google Gears
|
|
|
|
};
|
|
|
|
=====*/
|
|
|
|
// see if we have Google Gears installed, and if
|
|
|
|
// so, make it available in the runtime environment
|
|
|
|
// and in the Google standard 'google.gears' global object
|
|
|
|
dojo.gears.available = (!!dojo.gears._gearsObject())||0;
|
|
|
|
|
2010-11-15 07:39:52 +00:00
|
|
|
}
|