/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

  1. i;9;CPEvent.jc;3118;
  2. CPUnknownBrowserEngine=0;
  3. CPGeckoBrowserEngine=1;
  4. CPInternetExplorerBrowserEngine=2;
  5. CPKHTMLBrowserEngine=3;
  6. CPOperaBrowserEngine=4;
  7. CPWebKitBrowserEngine=5;
  8. CPCSSRGBAFeature=1<<5;
  9. CPHTMLCanvasFeature=1<<6;
  10. CPHTMLContentEditableFeature=1<<7;
  11. CPJavascriptInnerTextFeature=1<<8;
  12. CPJavascriptTextContentFeature=1<<9;
  13. CPJavascriptClipboardEventsFeature=1<<10;
  14. CPJavascriptClipboardAccessFeature=1<<11;
  15. CPJavaScriptCanvasDrawFeature=1<<12;
  16. CPJavaScriptCanvasTransformFeature=1<<13;
  17. CPVMLFeature=1<<14;
  18. CPJavascriptRemedialKeySupport=1<<15;
  19. CPJavaScriptShadowFeature=1<<20;
  20. CPJavaScriptNegativeMouseWheelValues=1<<22;
  21. CPJavaScriptMouseWheelValues_8_15=1<<23;
  22. CPOpacityRequiresFilterFeature=1<<24;
  23. CPInputTypeCanBeChangedFeature=1<<25;
  24. var _1="",_2=CPUnknownBrowserEngine,_3=0;
  25. _3|=CPInputTypeCanBeChangedFeature;
  26. if(typeof window!="undfined"&&typeof window.navigator!="undefined"){
  27. _1=window.navigator.userAgent;
  28. }
  29. if(window.opera){
  30. _2=CPOperaBrowserEngine;
  31. _3|=CPJavaScriptCanvasDrawFeature;
  32. }else{
  33. if(window.attachEvent){
  34. _2=CPInternetExplorerBrowserEngine;
  35. _3|=CPVMLFeature;
  36. _3|=CPJavascriptRemedialKeySupport;
  37. _3|=CPJavaScriptShadowFeature;
  38. _3|=CPOpacityRequiresFilterFeature;
  39. _3&=~CPInputTypeCanBeChangedFeature;
  40. }else{
  41. if(_1.indexOf("AppleWebKit/")!=-1){
  42. _2=CPWebKitBrowserEngine;
  43. _3|=CPCSSRGBAFeature;
  44. _3|=CPHTMLContentEditableFeature;
  45. _3|=CPJavascriptClipboardEventsFeature;
  46. _3|=CPJavascriptClipboardAccessFeature;
  47. _3|=CPJavaScriptShadowFeature;
  48. var _4=_1.indexOf("AppleWebKit/")+"AppleWebKit/".length,_5=_1.indexOf(" ",_4),_6=parseFloat(_1.substring(_4,_5),10);
  49. if(_1.indexOf("Plainview")==-1&&_6>=525.14||_1.indexOf("Chrome")!=-1){
  50. _3|=CPJavascriptRemedialKeySupport;
  51. }
  52. }else{
  53. if(_1.indexOf("KHTML")!=-1){
  54. _2=CPKHTMLBrowserEngine;
  55. }else{
  56. if(_1.indexOf("Gecko")!=-1){
  57. _2=CPGeckoBrowserEngine;
  58. _3|=CPJavaScriptCanvasDrawFeature;
  59. var _7=_1.indexOf("Firefox"),_6=(_7==-1)?2:parseFloat(_1.substring(_7+"Firefox".length+1));
  60. if(_6>=3){
  61. _3|=CPCSSRGBAFeature;
  62. }
  63. var _8=_1.indexOf("Gecko"),_9=(_8===-1)?0:parseFloat(_1.substring(_8+"Gecko".length+1,_1.indexOf(" ",_8)));
  64. if(_6<20061028){
  65. _3|=CPJavaScriptMouseWheelValues_8_15;
  66. }
  67. }
  68. }
  69. }
  70. }
  71. }
  72. if(typeof document!="undefined"){
  73. var _a=document.createElement("canvas");
  74. if(_a&&_a.getContext){
  75. _3|=CPHTMLCanvasFeature;
  76. var _b=document.createElement("canvas").getContext("2d");
  77. if(_b&&_b.setTransform&&_b.transform){
  78. _3|=CPJavaScriptCanvasTransformFeature;
  79. }
  80. }
  81. var _c=document.createElement("div");
  82. if(_c.innerText!=undefined){
  83. _3|=CPJavascriptInnerTextFeature;
  84. }else{
  85. if(_c.textContent!=undefined){
  86. _3|=CPJavascriptTextContentFeature;
  87. }
  88. }
  89. }
  90. CPFeatureIsCompatible=function(_d){
  91. return _3&_d;
  92. };
  93. CPBrowserIsEngine=function(_e){
  94. return _2==_e;
  95. };
  96. if(_1.indexOf("Mac")!=-1){
  97. CPPlatformActionKeyMask=CPCommandKeyMask;
  98. CPUndoKeyEquivalent="Z";
  99. CPRedoKeyEquivalent="Z";
  100. CPUndoKeyEquivalentModifierMask=CPCommandKeyMask;
  101. CPRedoKeyEquivalentModifierMask=CPCommandKeyMask|CPShiftKeyMask;
  102. }else{
  103. CPPlatformActionKeyMask=CPControlKeyMask;
  104. CPUndoKeyEquivalent="Z";
  105. CPRedoKeyEquivalent="Y";
  106. CPUndoKeyEquivalentModifierMask=CPControlKeyMask;
  107. CPRedoKeyEquivalentModifierMask=CPControlKeyMask;
  108. }