Ejemplo n.º 1
0
 let onTransitionEnd = function(e) {
   if (e.target !== navbar) {
     return;
   }
   let navbarBg = getComputedCSSProperty(navbar, "background-color");
   let [r, g, b] = extractRGBFromCSSColour(navbarBg);
   let lum = getLuminance([r, g, b]);
   let ratio = getContrastRatio(lum, 0);
   if (ratio > 7) {
     doc.documentElement.style.setProperty("--theme-accent-colour", "#000");
   } else {
     doc.documentElement.style.setProperty("--theme-accent-colour", "#fff");
   }
   win.ToolbarIconColor.inferFromText();
   DOMEvents.removeListener(navbar, "transitionend", onTransitionEnd);
 };
Ejemplo n.º 2
0
 doToAllWindows((win) => {
   let doc = win.document;
   let $ = (s) => doc.querySelector(s);
   if ($("#" + THEME_STYLE_ID)) {
     $("#" + THEME_STYLE_ID).textContent = styleText;
   }
   if (this.os == "win") {
     let root = doc.documentElement;
     let colour = win.getComputedStyle(root).getPropertyValue("background-color");
     let RGB = extractRGBFromCSSColour(colour);
     let ratio = getContrastRatio(getLuminance(RGB), 0);
     let buttonBox = doc.querySelector("#titlebar-buttonbox");
     buttonBox.classList.toggle("vivaldi-fox-invert-controls", ratio < 3);
   }
   win.ToolbarIconColor.inferFromText();
 })();