diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index 87132603..da8dea85 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -166,10 +166,12 @@ function Ace2Inner(){ } var dynamicCSS = null; + var parentDynamicCSS = null; function initDynamicCSS() { dynamicCSS = makeCSSManager("dynamicsyntax"); + parentDynamicCSS = makeCSSManager("dynamicsyntax", true); } var changesetTracker = makeChangesetTracker(scheduler, rep.apool, { @@ -217,6 +219,7 @@ function Ace2Inner(){ if (dynamicCSS) { dynamicCSS.removeSelectorStyle(getAuthorColorClassSelector(getAuthorClassName(author))); + parentDynamicCSS.removeSelectorStyle(getAuthorColorClassSelector(getAuthorClassName(author))); } } else @@ -234,18 +237,23 @@ function Ace2Inner(){ var authorStyle = dynamicCSS.selectorStyle(getAuthorColorClassSelector( getAuthorClassName(author))); + var parentAuthorStyle = parentDynamicCSS.selectorStyle(getAuthorColorClassSelector( + getAuthorClassName(author))); var anchorStyle = dynamicCSS.selectorStyle(getAuthorColorClassSelector( getAuthorClassName(author))+' > a') // author color authorStyle.backgroundColor = bgcolor; + parentAuthorStyle.backgroundColor = bgcolor; // text contrast if(colorutils.luminosity(colorutils.css2triple(bgcolor)) < 0.5) { authorStyle.color = '#ffffff'; + parentAuthorStyle.color = '#ffffff'; }else{ authorStyle.color = null; + parentAuthorStyle.color = null; } // anchor text contrast diff --git a/src/static/js/cssmanager.js b/src/static/js/cssmanager.js index e2007449..62f17496 100644 --- a/src/static/js/cssmanager.js +++ b/src/static/js/cssmanager.js @@ -20,12 +20,13 @@ * limitations under the License. */ -function makeCSSManager(emptyStylesheetTitle) +function makeCSSManager(emptyStylesheetTitle, parentCss) { function getSheetByTitle(title) { - var allSheets = document.styleSheets; + if (parentCss) var allSheets = window.parent.parent.document.styleSheets; + else var allSheets = document.styleSheets; for (var i = 0; i < allSheets.length; i++) { @@ -38,7 +39,7 @@ function makeCSSManager(emptyStylesheetTitle) return null; } - var browserSheet = getSheetByTitle(emptyStylesheetTitle); + var browserSheet = getSheetByTitle(emptyStylesheetTitle, parentCss); function browserRules() {