// ========================================================================== // Project: SproutCore
- JavaScript Application Framework // Copyright: ©2006-2011 Strobe Inc. and contributors. // Portions ©2008-2011 Apple Inc. All rights reserved. // License: Licensed under MIT license (see license.js) // ==========================================================================
// sc_require(“system/browser”);
SC.setupBodyClassNames = function() {
var el = document.body, browser, platform, shadows, borderRad, classNames, style, ieVersion; if (!el) return ; browser = SC.browser.current ; platform = SC.browser.isWindows ? 'windows' : SC.browser.isMac ? 'mac' : 'other-platform' ; style = document.documentElement.style; shadows = (style.MozBoxShadow !== undefined) || (style.webkitBoxShadow !== undefined) || (style.oBoxShadow !== undefined) || (style.boxShadow !== undefined); borderRad = (style.MozBorderRadius !== undefined) || (style.webkitBorderRadius !== undefined) || (style.oBorderRadius !== undefined) || (style.borderRadius !== undefined); classNames = el.className ? el.className.split(' ') : [] ; if(shadows) classNames.push('box-shadow'); if(borderRad) classNames.push('border-rad'); classNames.push(browser, platform) ; // This isn't a perfectly correct way to compare versions, but should be okay // in practical usage. ieVersion = parseInt(SC.browser.version, 10); if (SC.browser.isIE) { classNames.push('msie'); // Used by several framework CSS declarations, including the one to address issue #971. if (ieVersion === 7) { classNames.push('ie7'); } else if (ieVersion === 8) { classNames.push('ie8'); } else if (ieVersion === 9) { classNames.push('ie9'); } else if (ieVersion === 10) { classNames.push('ie10'); } } if(browser==="safari" || browser==="chrome") classNames.push('webkit'); if (SC.browser.isMobileSafari) classNames.push('mobile-safari') ; if ('createTouch' in document) classNames.push('touch'); el.className = classNames.join(' ') ;
} ;