1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
- Available via Academic Free License >= 2.1 OR the modified BSD license.
- see: http://dojotoolkit.org/license for details
- */
- if(!dojo._hasResource["dojo.gears"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
- dojo._hasResource["dojo.gears"] = true;
- dojo.provide("dojo.gears");
- dojo.getObject("gears", true, dojo);
- dojo.gears._gearsObject = function(){
- // summary:
- // 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");
- };
- /*=====
- 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;
- }
|