From 6d3fd5eb26c7262c4cbb218bb51c4cff429b2074 Mon Sep 17 00:00:00 2001 From: Christoph Burgmer Date: Mon, 21 Oct 2013 10:11:13 +0200 Subject: [PATCH 1/2] Correctly set parentStyleSheet on inserted rules --- lib/CSSStyleSheet.js | 1 + spec/CSSStyleSheet.spec.js | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib/CSSStyleSheet.js b/lib/CSSStyleSheet.js index 3ec733f..885b3c5 100644 --- a/lib/CSSStyleSheet.js +++ b/lib/CSSStyleSheet.js @@ -41,6 +41,7 @@ CSSOM.CSSStyleSheet.prototype.insertRule = function(rule, index) { throw new RangeError("INDEX_SIZE_ERR"); } var cssRule = CSSOM.parse(rule).cssRules[0]; + cssRule.parentStyleSheet = this; this.cssRules.splice(index, 0, cssRule); return index; }; diff --git a/spec/CSSStyleSheet.spec.js b/spec/CSSStyleSheet.spec.js index 01f80ab..828bc6c 100644 --- a/spec/CSSStyleSheet.spec.js +++ b/spec/CSSStyleSheet.spec.js @@ -18,5 +18,12 @@ describe('CSSStyleSheet', function() { expect(s.cssRules).toEqual([]); }); + describe('insertRule', function () { + it('should correctly set the parent stylesheet', function () { + var s = new CSSOM.CSSStyleSheet; + s.insertRule("a {color: blue}", 0); + expect(s.cssRules[0].parentStyleSheet).toBe(s); + }); + }); }); }); From 787dc0c55b5443630c5e18d898d7b41b4d8d8958 Mon Sep 17 00:00:00 2001 From: Christoph Burgmer Date: Sun, 3 Nov 2013 17:46:59 +0100 Subject: [PATCH 2/2] Check in autogenerated lib/index.js to make this branch installable via npm --- lib/index.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lib/index.js diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..e436737 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,19 @@ +'use strict'; + +exports.CSSStyleDeclaration = require('./CSSStyleDeclaration').CSSStyleDeclaration; +exports.CSSRule = require('./CSSRule').CSSRule; +exports.CSSStyleRule = require('./CSSStyleRule').CSSStyleRule; +exports.MediaList = require('./MediaList').MediaList; +exports.CSSMediaRule = require('./CSSMediaRule').CSSMediaRule; +exports.CSSImportRule = require('./CSSImportRule').CSSImportRule; +exports.CSSFontFaceRule = require('./CSSFontFaceRule').CSSFontFaceRule; +exports.StyleSheet = require('./StyleSheet').StyleSheet; +exports.CSSStyleSheet = require('./CSSStyleSheet').CSSStyleSheet; +exports.CSSKeyframesRule = require('./CSSKeyframesRule').CSSKeyframesRule; +exports.CSSKeyframeRule = require('./CSSKeyframeRule').CSSKeyframeRule; +exports.MatcherList = require('./MatcherList').MatcherList; +exports.CSSDocumentRule = require('./CSSDocumentRule').CSSDocumentRule; +exports.CSSValue = require('./CSSValue').CSSValue; +exports.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression; +exports.parse = require('./parse').parse; +exports.clone = require('./clone').clone;