Commit Graph

111 Commits

Author SHA1 Message Date
Boris Zbarsky
0da388ba25 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
4fe3d0c6dd Bug 851892 part 7. Push the nsIDOMCSSRule implementation up to css::Rule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
0591cf1be7 Bug 851892 part 5. Get rid of DOMCSSStyleRule. r=heycam,smaug 2017-01-13 10:41:02 -05:00
Boris Zbarsky
637e48e6e3 Bug 851892 part 4. Make css::Rule wrappercached. r=heycam,peterv,smaug
Note that this increases the size of css::Rule by three words, unfortunately.
2017-01-13 10:41:02 -05:00
Boris Zbarsky
6e795d159b Bug 851892 part 2. Remove the now-unused GetExistingDOMRule method. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
65f894384a Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam,smaug 2016-11-30 18:18:14 -05:00
Sebastian Hengst
3c9c348769 Backed out changeset 9a4b96c10b23 (bug 851892) for build bustage. r=backout on a CLOSED TREE 2017-01-20 19:31:31 +01:00
Sebastian Hengst
c2dff8d692 Backed out changeset 795ebf4423ba (bug 851892) 2017-01-20 19:30:59 +01:00
Sebastian Hengst
63caf1fba9 Backed out changeset 3be6690b9f0a (bug 851892) 2017-01-20 19:30:50 +01:00
Sebastian Hengst
1c3bfd1016 Backed out changeset 2c2afe732553 (bug 851892) 2017-01-20 19:30:46 +01:00
Sebastian Hengst
24246c7ba1 Backed out changeset 659550973d4d (bug 851892) 2017-01-20 19:30:37 +01:00
Sebastian Hengst
bcb6968086 Backed out changeset 9ef39356f62c (bug 851892) 2017-01-20 19:30:32 +01:00
Sebastian Hengst
d4070f77eb Backed out changeset 31103a03f2c2 (bug 851892) 2017-01-20 19:30:14 +01:00
Boris Zbarsky
2132f0075d Bug 851892 part 12. Convert CSSStyleRule to WebIDL. r=peterv,heycam,mccr8
The .style PutForwards bit is coming along for the ride; I did check that Chrome
already implements this, so we're not the only ones.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
4cc8d36e13 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
e1ec75387e Bug 851892 part 7. Push the nsIDOMCSSRule implementation up to css::Rule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
bae3c90b82 Bug 851892 part 5. Get rid of DOMCSSStyleRule. r=heycam,smaug 2017-01-13 10:41:02 -05:00
Boris Zbarsky
ec2fad773f Bug 851892 part 4. Make css::Rule wrappercached. r=heycam,peterv,smaug
Note that this increases the size of css::Rule by three words, unfortunately.
2017-01-13 10:41:02 -05:00
Boris Zbarsky
5bb4a84030 Bug 851892 part 2. Remove the now-unused GetExistingDOMRule method. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
e92f7dfbdc Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam,smaug 2016-11-30 18:18:14 -05:00
Phil Ringnalda
686006613e Backed out 20 changesets (bug 851892) for load failures in Android crashtest-4
Backed out changeset b9c4115cdeac (bug 851892)
Backed out changeset 5f491bf49b85 (bug 851892)
Backed out changeset 9bf5bcb3e8c5 (bug 851892)
Backed out changeset a9cab46e8b45 (bug 851892)
Backed out changeset 73858e15c8c0 (bug 851892)
Backed out changeset a25638588b6b (bug 851892)
Backed out changeset d58e0e5069ef (bug 851892)
Backed out changeset d8da2a3d8f10 (bug 851892)
Backed out changeset a8da3c34983f (bug 851892)
Backed out changeset 29cf8acbd21e (bug 851892)
Backed out changeset c53cd7bdf8b3 (bug 851892)
Backed out changeset e841a2796375 (bug 851892)
Backed out changeset 2eab85b00159 (bug 851892)
Backed out changeset ca4b1fb9cae4 (bug 851892)
Backed out changeset 74c0ba66f108 (bug 851892)
Backed out changeset 719bb9f41e5b (bug 851892)
Backed out changeset d6aa4c6192df (bug 851892)
Backed out changeset dc81a167a75d (bug 851892)
Backed out changeset 65422477b3a5 (bug 851892)
Backed out changeset 3089dd379077 (bug 851892)
2017-01-15 11:50:10 -08:00
Boris Zbarsky
12d9bfeec4 Bug 851892 part 12. Convert CSSStyleRule to WebIDL. r=peterv,heycam,mccr8
The .style PutForwards bit is coming along for the ride; I did check that Chrome
already implements this, so we're not the only ones.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
13b4594e28 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
52920d72fc Bug 851892 part 7. Push the nsIDOMCSSRule implementation up to css::Rule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
1bde6ae3c2 Bug 851892 part 5. Get rid of DOMCSSStyleRule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
56e3ade4f8 Bug 851892 part 4. Make css::Rule wrappercached. r=heycam,peterv
Note that this increases the size of css::Rule by three words, unfortunately.
2017-01-13 10:41:02 -05:00
Boris Zbarsky
ff9df2fc65 Bug 851892 part 2. Remove the now-unused GetExistingDOMRule method. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
b428dc3b24 Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam 2016-11-30 18:18:14 -05:00
Boris Zbarsky
0c844d909c Back out bug 851892 for Windows build bustage on CLOSED TREE 2017-01-13 11:47:22 -05:00
Boris Zbarsky
440a3a3356 Bug 851892 part 12. Convert CSSStyleRule to WebIDL. r=peterv,heycam,mccr8
The .style PutForwards bit is coming along for the ride; I did check that Chrome
already implements this, so we're not the only ones.
2017-01-13 10:41:03 -05:00
Boris Zbarsky
c2d6f05094 Bug 851892 part 8. Get rid of css::Rule::GetDOMRule. r=heycam 2017-01-13 10:41:03 -05:00
Boris Zbarsky
75a4f847c1 Bug 851892 part 7. Push the nsIDOMCSSRule implementation up to css::Rule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
2f515d8b8a Bug 851892 part 5. Get rid of DOMCSSStyleRule. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
d4570e4e2e Bug 851892 part 4. Make css::Rule wrappercached. r=heycam,peterv
Note that this increases the size of css::Rule by three words, unfortunately.
2017-01-13 10:41:02 -05:00
Boris Zbarsky
87ecdeb643 Bug 851892 part 2. Remove the now-unused GetExistingDOMRule method. r=heycam 2017-01-13 10:41:02 -05:00
Boris Zbarsky
b775cd73c7 Bug 851892 part 1. Make all CSS rules cycle-collected. r=heycam 2016-11-30 18:18:14 -05:00
Xidorn Quan
9be0143f3a Bug 1307357 part 1 - Make css::Rule hold StyleSheet rather than CSSStyleSheet. r=heycam
MozReview-Commit-ID: JsJa4YqpCZy

--HG--
extra : source : b2ad813e35665e9bfede2753f19de3730869fc2f
2016-11-23 10:26:20 +11:00
Boris Chiou
66ed914313 Bug 1250820 - Part 2: Replace nsCSSPseudoClasses::Type with CSSPseudoClassType. r=heycam
MozReview-Commit-ID: 6w4SoaS7gRi

--HG--
extra : rebase_source : 6e3c05aedf910616def9f9f43fc0e135a2d84359
2016-04-22 21:38:46 +08:00
Boris Chiou
f9b04f2758 Bug 1244049 - Part 3: Replace the type of nsCSSSelector::mPseudoType. r=dbaron
--HG--
extra : rebase_source : 4bb852ab13bd448da20f9af4a3f13c5704e3a007
2016-02-17 22:04:00 +01:00
Boris Chiou
e436478f26 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;

--HG--
extra : rebase_source : c00eb9753e8f618a33aa711538ac45c0132b353c
2016-02-17 21:37:00 +01:00
Boris Chiou
185a769719 Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron
--HG--
extra : rebase_source : e53dd269e47fa97eb259ebd9295d012eacbdb612
2016-02-16 23:07:00 +01:00
Boris Zbarsky
b84abf01a3 Bug 888190. Implement case-insensitive attribute value selectors from Selectors 4. r=dbaron 2016-01-26 14:55:52 -05:00
L. David Baron
764b2b1601 Bug 1221436 patch 6 - Remove mechanism for replacing style rules. r=heycam
This is no longer used, thanks to patch 5.

--HG--
extra : commitid : 9E12f2cAoMn
2015-11-09 15:57:17 +08:00
L. David Baron
c054fd2a09 Bug 1221436 patch 5 - Stop generating new style rules in DeclarationChanged (and rename it to SetDeclaration), since we no longer need a new style rule for nsIStyleRule identity rules. r=heycam
(I think the change DOMCSSDeclarationImpl::GetCSSDeclaration fixes a
purely theoretical bug that would happen if it were possible to get
ahold of a CSS rule without calling either
CSSStyleSheet::EnsureUniqueInner (which is called by
CSSRuleListImpl::IndexedGetter) or Declaration::SetImmutable (which is
called by rule matching, including that triggered by
inIDomUtils::GetCSSStyleRules).  If that were possible, then mutating
such a declaration would mutate the shared Declaration, and then call
WillDirty which would clone the now-mutated Declaration, leading to the
mutation applying to both sheets that shared it rather than just the one
that should have been modified.)

This is the simplification allowed by bug 978833 patch 11 (and part of
what we would otherwise have needed to duplicate in @page and keyframe
rules; we'd also have needed to duplicate the object split between the
internal object and the DOM-exposed object, but for style rules that's
probably worth keeping for the memory savings).

--HG--
extra : commitid : 4LV6uqm7iYf
2015-11-09 15:57:17 +08:00
L. David Baron
a511f77fef 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).

--HG--
extra : commitid : 8jnKsQbG74s
2015-11-05 16:44:10 +08:00
L. David Baron
cdd348acd9 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.

--HG--
extra : commitid : CEFVRbS42w6
2015-11-05 16:44:10 +08:00
L. David Baron
515251be97 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.

--HG--
extra : commitid : 6Q3PyIcGMWY
2015-11-05 16:44:10 +08:00
L. David Baron
4ed7c0f036 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.

--HG--
extra : commitid : EOrsMKswNMP
2015-11-05 16:44:09 +08:00
L. David Baron
ed0b078c21 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.

--HG--
extra : commitid : Fjns3SwV7M1
2015-11-05 16:44:09 +08:00
L. David Baron
00351db8e0 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.)

--HG--
extra : commitid : DZGpUQO2Fey
2015-11-05 16:44:08 +08:00