]> git.wh0rd.org - tt-rss.git/blobdiff - lib/dojo/hccss.js.uncompressed.js
upgrade dojo to 1.8.3 (refs #570)
[tt-rss.git] / lib / dojo / hccss.js.uncompressed.js
diff --git a/lib/dojo/hccss.js.uncompressed.js b/lib/dojo/hccss.js.uncompressed.js
new file mode 100644 (file)
index 0000000..feb9539
--- /dev/null
@@ -0,0 +1,54 @@
+define("dojo/hccss", [
+       "require",                      // require.toUrl
+       "./_base/config", // config.blankGif
+       "./dom-class", // domClass.add
+       "./dom-style", // domStyle.getComputedStyle
+       "./has",
+       "./ready", // ready
+       "./_base/window" // win.body
+], function(require, config, domClass, domStyle, has, ready, win){
+
+       // module:
+       //              dojo/hccss
+
+       /*=====
+       return function(){
+               // summary:
+               //              Test if computer is in high contrast mode (i.e. if browser is not displaying background images).
+               //              Defines `has("highcontrast")` and sets `dj_a11y` CSS class on `<body>` if machine is in high contrast mode.
+               //              Returns `has()` method;
+       };
+       =====*/
+
+       // Has() test for when background images aren't displayed.  Don't call has("highcontrast") before dojo/domReady!.
+       has.add("highcontrast", function(){
+               // note: if multiple documents, doesn't matter which one we use
+               var div = win.doc.createElement("div");
+               div.style.cssText = "border: 1px solid; border-color:red green; position: absolute; height: 5px; top: -999px;" +
+                       "background-image: url(" + (config.blankGif || require.toUrl("./resources/blank.gif")) + ");";
+               win.body().appendChild(div);
+
+               var cs = domStyle.getComputedStyle(div),
+                       bkImg = cs.backgroundImage,
+                       hc = (cs.borderTopColor == cs.borderRightColor) ||
+                               (bkImg && (bkImg == "none" || bkImg == "url(invalid-url:)" ));
+
+               if(has("ie") <= 8){
+                       div.outerHTML = "";             // prevent mixed-content warning, see http://support.microsoft.com/kb/925014
+               }else{
+                       win.body().removeChild(div);
+               }
+
+               return hc;
+       });
+
+       // Priority is 90 to run ahead of parser priority of 100.   For 2.0, remove the ready() call and instead
+       // change this module to depend on dojo/domReady!
+       ready(90, function(){
+               if(has("highcontrast")){
+                       domClass.add(win.body(), "dj_a11y");
+               }
+       });
+
+       return has;
+});