Browse Source

better inversion test

Heydon Pickering 8 years ago
parent
commit
718fd3e67a
3 changed files with 18 additions and 2 deletions
  1. 9 1
      docs/js/dom-scripts.js
  2. 0 0
      docs/service-worker.js
  3. 9 1
      themes/infusion/static/js/dom-scripts.js

+ 9 - 1
docs/js/dom-scripts.js

@@ -96,11 +96,19 @@
 
 /* Switch and persist theme */
 (function () {
+  function CSSSupported (property, value) {
+    var prop = property + ':',
+        el = document.createElement('test'),
+        mStyle = el.style;
+    el.style.cssText = prop + value;
+    return mStyle[property];
+  }
+
   var checkbox = document.getElementById('themer');
   var inverter = document.getElementById('inverter');
 
   function darkTheme(media) {
-    if (!('filter' in document.body.style)) {
+    if (!CSSSupported('filter', 'invert(100%)')) {
       checkbox.parentNode.hidden = true;
       return;
     }

File diff suppressed because it is too large
+ 0 - 0
docs/service-worker.js


+ 9 - 1
themes/infusion/static/js/dom-scripts.js

@@ -96,11 +96,19 @@
 
 /* Switch and persist theme */
 (function () {
+  function CSSSupported (property, value) {
+    var prop = property + ':',
+        el = document.createElement('test'),
+        mStyle = el.style;
+    el.style.cssText = prop + value;
+    return mStyle[property];
+  }
+
   var checkbox = document.getElementById('themer');
   var inverter = document.getElementById('inverter');
 
   function darkTheme(media) {
-    if (!('filter' in document.body.style)) {
+    if (!CSSSupported('filter', 'invert(100%)')) {
       checkbox.parentNode.hidden = true;
       return;
     }

Some files were not shown because too many files changed in this diff