/Frameworks/AppKit/browser.platform/CPCompatibility.j
http://github.com/jfahrenkrug/MapKit-HelloWorld · Unknown · 108 lines · 108 code · 0 blank · 0 comment · 0 complexity · 8dae61bd5bd349f176e4446d640cbabf MD5 · raw file
- i;9;CPEvent.jc;3118;
- CPUnknownBrowserEngine=0;
- CPGeckoBrowserEngine=1;
- CPInternetExplorerBrowserEngine=2;
- CPKHTMLBrowserEngine=3;
- CPOperaBrowserEngine=4;
- CPWebKitBrowserEngine=5;
- CPCSSRGBAFeature=1<<5;
- CPHTMLCanvasFeature=1<<6;
- CPHTMLContentEditableFeature=1<<7;
- CPJavascriptInnerTextFeature=1<<8;
- CPJavascriptTextContentFeature=1<<9;
- CPJavascriptClipboardEventsFeature=1<<10;
- CPJavascriptClipboardAccessFeature=1<<11;
- CPJavaScriptCanvasDrawFeature=1<<12;
- CPJavaScriptCanvasTransformFeature=1<<13;
- CPVMLFeature=1<<14;
- CPJavascriptRemedialKeySupport=1<<15;
- CPJavaScriptShadowFeature=1<<20;
- CPJavaScriptNegativeMouseWheelValues=1<<22;
- CPJavaScriptMouseWheelValues_8_15=1<<23;
- CPOpacityRequiresFilterFeature=1<<24;
- CPInputTypeCanBeChangedFeature=1<<25;
- var _1="",_2=CPUnknownBrowserEngine,_3=0;
- _3|=CPInputTypeCanBeChangedFeature;
- if(typeof window!="undfined"&&typeof window.navigator!="undefined"){
- _1=window.navigator.userAgent;
- }
- if(window.opera){
- _2=CPOperaBrowserEngine;
- _3|=CPJavaScriptCanvasDrawFeature;
- }else{
- if(window.attachEvent){
- _2=CPInternetExplorerBrowserEngine;
- _3|=CPVMLFeature;
- _3|=CPJavascriptRemedialKeySupport;
- _3|=CPJavaScriptShadowFeature;
- _3|=CPOpacityRequiresFilterFeature;
- _3&=~CPInputTypeCanBeChangedFeature;
- }else{
- if(_1.indexOf("AppleWebKit/")!=-1){
- _2=CPWebKitBrowserEngine;
- _3|=CPCSSRGBAFeature;
- _3|=CPHTMLContentEditableFeature;
- _3|=CPJavascriptClipboardEventsFeature;
- _3|=CPJavascriptClipboardAccessFeature;
- _3|=CPJavaScriptShadowFeature;
- var _4=_1.indexOf("AppleWebKit/")+"AppleWebKit/".length,_5=_1.indexOf(" ",_4),_6=parseFloat(_1.substring(_4,_5),10);
- if(_1.indexOf("Plainview")==-1&&_6>=525.14||_1.indexOf("Chrome")!=-1){
- _3|=CPJavascriptRemedialKeySupport;
- }
- }else{
- if(_1.indexOf("KHTML")!=-1){
- _2=CPKHTMLBrowserEngine;
- }else{
- if(_1.indexOf("Gecko")!=-1){
- _2=CPGeckoBrowserEngine;
- _3|=CPJavaScriptCanvasDrawFeature;
- var _7=_1.indexOf("Firefox"),_6=(_7==-1)?2:parseFloat(_1.substring(_7+"Firefox".length+1));
- if(_6>=3){
- _3|=CPCSSRGBAFeature;
- }
- var _8=_1.indexOf("Gecko"),_9=(_8===-1)?0:parseFloat(_1.substring(_8+"Gecko".length+1,_1.indexOf(" ",_8)));
- if(_6<20061028){
- _3|=CPJavaScriptMouseWheelValues_8_15;
- }
- }
- }
- }
- }
- }
- if(typeof document!="undefined"){
- var _a=document.createElement("canvas");
- if(_a&&_a.getContext){
- _3|=CPHTMLCanvasFeature;
- var _b=document.createElement("canvas").getContext("2d");
- if(_b&&_b.setTransform&&_b.transform){
- _3|=CPJavaScriptCanvasTransformFeature;
- }
- }
- var _c=document.createElement("div");
- if(_c.innerText!=undefined){
- _3|=CPJavascriptInnerTextFeature;
- }else{
- if(_c.textContent!=undefined){
- _3|=CPJavascriptTextContentFeature;
- }
- }
- }
- CPFeatureIsCompatible=function(_d){
- return _3&_d;
- };
- CPBrowserIsEngine=function(_e){
- return _2==_e;
- };
- if(_1.indexOf("Mac")!=-1){
- CPPlatformActionKeyMask=CPCommandKeyMask;
- CPUndoKeyEquivalent="Z";
- CPRedoKeyEquivalent="Z";
- CPUndoKeyEquivalentModifierMask=CPCommandKeyMask;
- CPRedoKeyEquivalentModifierMask=CPCommandKeyMask|CPShiftKeyMask;
- }else{
- CPPlatformActionKeyMask=CPControlKeyMask;
- CPUndoKeyEquivalent="Z";
- CPRedoKeyEquivalent="Y";
- CPUndoKeyEquivalentModifierMask=CPControlKeyMask;
- CPRedoKeyEquivalentModifierMask=CPControlKeyMask;
- }