MDL-30876 filter_mediaplugin Wrapping the style sheets access with try & catch
Conflicts: lib/javascript-static.js
This commit is contained in:
committed by
Sam Hemelryk
parent
00714e72ea
commit
e52f82253e
@@ -1771,15 +1771,27 @@ M.util.load_flowplayer = function() {
|
||||
|
||||
var rule;
|
||||
for (var j=0; j < document.styleSheets.length; j++) {
|
||||
if (typeof (document.styleSheets[j].rules) != 'undefined') {
|
||||
var allrules = document.styleSheets[j].rules;
|
||||
} else if (typeof (document.styleSheets[j].cssRules) != 'undefined') {
|
||||
var allrules = document.styleSheets[j].cssRules;
|
||||
} else {
|
||||
// why??
|
||||
|
||||
// To avoid javascript security violation accessing cross domain stylesheets
|
||||
var allrules = false;
|
||||
try {
|
||||
if (typeof (document.styleSheets[j].rules) != 'undefined') {
|
||||
allrules = document.styleSheets[j].rules;
|
||||
} else if (typeof (document.styleSheets[j].cssRules) != 'undefined') {
|
||||
allrules = document.styleSheets[j].cssRules;
|
||||
} else {
|
||||
// why??
|
||||
continue;
|
||||
}
|
||||
} catch (e) {
|
||||
continue;
|
||||
}
|
||||
if (!allrules) continue;
|
||||
|
||||
// On cross domain style sheets Chrome V8 allows access to rules but returns null
|
||||
if (!allrules) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for(var i=0; i<allrules.length; i++) {
|
||||
rule = '';
|
||||
if (/^\.mp3flowplayer_.*Color$/.test(allrules[i].selectorText)) {
|
||||
|
||||
Reference in New Issue
Block a user