/*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
\r
(function()\r
{\r
- // Check is High Contrast is active by creating a temporary element with a\r
- // background image.\r
-\r
- var testImage = ( CKEDITOR.env.ie && CKEDITOR.env.version < 7 ) ? ( CKEDITOR.basePath + 'images/spacer.gif' ) : 'about:blank';\r
+ // Disable HC detaction in WebKit. (#5429)\r
+ if ( CKEDITOR.env.webkit )\r
+ {\r
+ CKEDITOR.env.hc = false;\r
+ return;\r
+ }\r
\r
+ // Check whether high contrast is active by creating a colored border.\r
var hcDetect = CKEDITOR.dom.element.createFromHtml(\r
- '<div style="width:0px;height:0px;' +\r
- 'position:absolute;left:-10000px;' +\r
- 'background-image:url(' + testImage + ')"></div>', CKEDITOR.document );\r
+ '<div style="width:0px;height:0px;position:absolute;left:-10000px;' +\r
+ 'border: 1px solid;border-color: red blue;"></div>', CKEDITOR.document );\r
\r
hcDetect.appendTo( CKEDITOR.document.getHead() );\r
\r
// Update CKEDITOR.env.\r
- if ( ( CKEDITOR.env.hc = ( hcDetect.getComputedStyle( 'background-image' ) == 'none' ) ) )\r
+ // Catch exception needed sometimes for FF. (#4230)\r
+ try\r
+ {\r
+ CKEDITOR.env.hc = hcDetect.getComputedStyle( 'border-top-color' ) == hcDetect.getComputedStyle( 'border-right-color' );\r
+ }\r
+ catch (e)\r
+ {\r
+ CKEDITOR.env.hc = false;\r
+ }\r
+\r
+ if ( CKEDITOR.env.hc )\r
CKEDITOR.env.cssClass += ' cke_hc';\r
\r
hcDetect.remove();\r
}\r
});\r
\r
-/*\r
-TODO: Enable the following and check if effective.\r
-\r
+// Needed for IE6 to not request image (HTTP 200 or 304) for every CSS background. (#6187)\r
if ( CKEDITOR.env.ie )\r
{\r
// Remove IE mouse flickering on IE6 because of background images.\r
// line. For safety, let's just ignore errors.\r
}\r
}\r
-*/\r
+\r
+/**\r
+ * Indicates that CKEditor is running on a High Contrast environment.\r
+ * @name CKEDITOR.env.hc\r
+ * @example\r
+ * if ( CKEDITOR.env.hc )\r
+ * alert( 'You're running on High Contrast mode. The editor interface will get adapted to provide you a better experience.' );\r
+ */\r
+\r
+/**\r
+ * Fired when a CKEDITOR core object is fully loaded and ready for interaction.\r
+ * @name CKEDITOR#loaded\r
+ * @event\r
+ */\r