f64c8ef3ca52406c75f1c501dd11e2cc6bb0932e: Bug 1220411 - add XLDFLAGS to correctly find X libs when linking screentopng r=glandium
Landry Breuil <landry@openbsd.org> - Thu, 05 Nov 2015 09:48:37 +0100 - rev 293009
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 1220411 - add XLDFLAGS to correctly find X libs when linking screentopng r=glandium
cf480f83f25d7bb46d1e174d4c15320d55b8eb1c: Bug 978833 patch 19 - Fix ResolvedStyleCache to use Declaration rather than nsCSSKeyframeRule as keys. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:11 +0800 - rev 293008
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 19 - Fix ResolvedStyleCache to use Declaration rather than nsCSSKeyframeRule as keys. r=heycam This isn't needed today, but it makes more sense, and if we ever gave the cache a longer lifetime, it would be needed, since the nsCSSKeyframeRule can maintain its identity across style changes whereas a matched Declaration cannot.
0ab5ed0dd72f293f4d5ec9e16df136f48f9db4aa: Bug 978833 patch 18 - Eliminate StyleRule::RuleMatched and call Declaration::SetImmutable directly for style rules (like for @page and keyframe rules). r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293007
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 18 - Eliminate StyleRule::RuleMatched and call Declaration::SetImmutable directly for style rules (like for @page and keyframe rules). r=heycam This is just simplification (plus the addition of an assertion).
6882c096a68365f6e4e3ae49a19541e68b96ff84: Bug 978833 patch 17 - Remove Rule::mWasMatched. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293006
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 17 - Remove Rule::mWasMatched. r=heycam
888d7ce53c3e032f6c4f6a70675a8775d710325d: Bug 978833 patch 16 - Always call Declaration::SetImmutable when we match a rule. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293005
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 16 - Always call Declaration::SetImmutable when we match a rule. r=heycam This change needs to happen before future work that would get rid of the DeclarationChanged dance in which we make a new StyleRule, but I've postponed that work to a later bug. Without this, those changes would cause a regression, because we'd only call SetImmutable on a StyleRule's first mDeclaration. However, we may as well do this now, as it makes patch 17 and patch 18 possible.
ed25ca545c1f7fe788c10c8d1a29feccb86e2dad: Bug 978833 patch 15 - Make css::Rule no longer inherit from nsIStyleRule. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293004
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 15 - Make css::Rule no longer inherit from nsIStyleRule. r=heycam This inheritance was previously needed only by a subset of the classes derived from css::Rule (css::StyleRule, nsCSSKeyframeRule, nsCSSPageRule). After patch 12, it is now needed by none.
5a8bb99e8c87d317306213d6ac600e32266edc58: Bug 978833 patch 14 - Pass mozilla::css::Rule instead of nsIStyleRule to nsIDocument/nsIDocumentObserver style rule methods. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293003
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 14 - Pass mozilla::css::Rule instead of nsIStyleRule to nsIDocument/nsIDocumentObserver style rule methods. r=heycam This also fixes bug 980560. This is needed for patch 15, which will make the rules passed to these methods no longer implement nsIStyleRule. TODO (bug 1221908): Given the amount that these parameters are used (not at all), perhaps we should have a followup on removing them and simplifying these notifications?
9f2470877279bdaeed2128a527b81183a3d71bbd: Bug 978833 patch 13 - Remove important rule creation from css::StyleRule. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293002
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 13 - Remove important rule creation from css::StyleRule. r=heycam This is the removal half corresponding to the additions in patch 7; the removal needs to happen after patch 12.
f340cdf67edb870645ddf499da690e60eff7f73f: Bug 978833 patch 12 - Use the css::Declaration instead of the css::StyleRule as the matching rule. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:10 +0800 - rev 293001
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 12 - Use the css::Declaration instead of the css::StyleRule as the matching rule. r=heycam This is the key change in this patch series; it changes the object we use for style data (currently nsIStyleRule) identity. It allows removing some hacks we have to deal with that for StyleRule, and avoids having to write similar hacks for nsCSSKeyframeRule and nsCSSPageRule (which are broken without this). I confirmed locally that it is this patch that fixes both of the todo_is mochitests, by building and testing with the patch queue through patch 11, and again through patch 12.
e69922893211b78e5593fbd1c795e66248a357a1: Bug 978833 patch 11 - Add missing #includes in preparation for nsRuleWalker.h #include change in following patch. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:09 +0800 - rev 293000
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 11 - Add missing #includes in preparation for nsRuleWalker.h #include change in following patch. r=heycam Patch 12 changes nsRuleWalker.h from including StyleRule.h to including Declaration.h; this fixes other headers to deal with that change based on the include-what-you-use principle.
da3bf914effe192549fc81b44363fa9ef36a0e69: Bug 978833 patch 10 - Raise consistent exceptions so that the exception doesn't depend on rule destruction timing. r=bzbarsky
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:09 +0800 - rev 292999
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 10 - Raise consistent exceptions so that the exception doesn't depend on rule destruction timing. r=bzbarsky Prior to patch 12, rule destruction for rules that were matched doesn't happen until rule tree GC. This means that GetCSSDeclaration is less likely to return null, but then GetCSSParsingEnvironment might fail. With StyleRule no longer participating in the rule tree, they're more likely to be destroyed quickly, leading to the !olddecl failure case instead of the !env.mPrincipal failure case. This is needed to avoid patch 12 causing: TEST-UNEXPECTED-FAIL | layout/inspector/tests/chrome/test_bug727834.xul | original rule is not available for modification anymore - got "NS_ERROR_FAILURE", expected "NS_ERROR_NOT_AVAILABLE"
3a1bf2c602114a72dfd99a6aeb737f3cb116076b: Bug 978833 patch 9 - Move keyframe !important data assertion to where it will continue to happen. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:09 +0800 - rev 292998
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 9 - Move keyframe !important data assertion to where it will continue to happen. r=heycam The current location of the assertion will stop being called in patch 12 and will go away in patch 15; the new location is valid both before and after patch 12.
0adcd9f3fac0358d859575727b3febeaf420c512: Bug 978833 patch 8 - Call SetImmutable for declarations of @page and keyframe rules. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:09 +0800 - rev 292997
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 8 - Call SetImmutable for declarations of @page and keyframe rules. r=heycam This probably should have been done before, but prior to this patch series, dynamic changes of the declarations on these rules were broken due to rule immutability violations; now that is no longer the case, but to benefit from that, I believe we actually need to mark the declarations as immutable once matched so that dynamic changes will trigger construction of a new declaration (which thus has a new nsIStyleRule identity).
4b633979383a8174c450ed7f77c0f06b6095f404: Bug 978833 patch 7 - Fuse allocation of ImportantStyleData with Declaration. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:09 +0800 - rev 292996
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 7 - Fuse allocation of ImportantStyleData with Declaration. r=heycam Note that this adds a new public API to css::Declaration; the equivalent API is removed from css::StyleRule and nsCSSPageRule in patch 13. But the removal and addition need to be on opposite sides of patch 12. This fused allocation is no larger than having a pointer, and it removes having to worry about cycles.
e62f0b7f0a02d3d6b7be90cef29075a56894738d: Bug 978833 patch 6 - Move ImportantStyleData from StyleRule.{h,cpp} to Declaration.{h,cpp} r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:09 +0800 - rev 292995
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 6 - Move ImportantStyleData from StyleRule.{h,cpp} to Declaration.{h,cpp} r=heycam This is needed for patch 7. Note that this removes an unused "friend class StyleRule;" declaration.
3b535acc6b79600f26f60aaf6ab724573fb46c88: Bug 978833 patch 5 - Rename ImportantRule to ImportantStyleData. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:08 +0800 - rev 292994
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 5 - Rename ImportantRule to ImportantStyleData. r=heycam (This is part of a longer term plan to rename nsIStyleRule to StyleData and nsIStyleRuleProcessor to StyleDataSource. I'm not doing all of that here, though.)
4d51af920be6db324ef06f980bc7ba7520f7ea55: Bug 978833 patch 4 - Add pointer back from css::Declaration to css::Rule. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:08 +0800 - rev 292993
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 4 - Add pointer back from css::Declaration to css::Rule. r=heycam This is used in patch 12, in nsStyleSet::AssertNoCSSRules and in inDOMUtils::GetCSSStyleRules.
d04634d822423fcde66c7dc5a120de9e5e2be167: Bug 978833 patch 3 - Make css::Declaration implement nsIStyleRule. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:08 +0800 - rev 292992
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 3 - Make css::Declaration implement nsIStyleRule. r=heycam We switch to using this implementation instead of the one in css::StyleRule in patch 12. (Yes, implementing QueryInterface for a CID is ugly, but it's the same thing StyleRule does. Unfortunately now we'll need to have it in both places.)
65c8c4d27598055a1255d24f96eafa1850dccba7: Bug 978833 patch 2 - Make css::Declaration reference-counted. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:08 +0800 - rev 292991
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 2 - Make css::Declaration reference-counted. r=heycam This is done in preparation for making it implement nsIStyleRule, which happens in patch 3, and which is used in patch 12.
a377963bf9bbc0a9c658a513137d778b838d0b94: Bug 978833 patch 1 - Add mochitest for bug 978833. r=heycam
L. David Baron <dbaron@dbaron.org> - Thu, 05 Nov 2015 16:44:07 +0800 - rev 292990
Push 8824 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:18:56 +0000
Bug 978833 patch 1 - Add mochitest for bug 978833. r=heycam I confirmed that without the patch series, the tests marked todo_is do fail.
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip