DOMException não capturado: falha ao ler a propriedade 'rules' em 'CSSStyleSheet'
No editor do App Lab do Code.org, recentemente começamos a ver esse erro no Chrome 64:
Uncaught DOMException: Failed to read the 'rules' property from 'CSSStyleSheet'
O erro é gerado nesta função projetada para detectar se as consultas de mídia CSS estão sendo usadas pelo navegador, na linha que incluistyleSheets[i].cssRules
.
/**
* IE9 throws an exception when trying to access the media field of a stylesheet
*/
export function browserSupportsCssMedia() {
var styleSheets = document.styleSheets;
for (var i = 0; i < styleSheets.length; i++) {
var rules = styleSheets[i].cssRules || styleSheets[i].rules;
try {
if (rules.length > 0) {
// see if we can access media
rules[0].media;
}
} catch (e) {
return false;
}
}
return true;
}
O problema foi visto no Windows, OSX, Ubuntu e ChromeOS; nas versões do Chrome 64.0.3282.167 e 64.0.3282.186. No entanto, também vimos esse problemanão acontecem exatamente na mesma versão e plataforma do Chrome - e parece que não conseguimos reproduzir o problema em uma janela anônima.
Qual é a causa raiz desse erro?