Mats Palmgren
6d8ef8591f
Bug 1233106 part 1 - [css-align] Update align-/justify-* properties to the current CSS Align spec (adding 'normal' keyword, dropping 'auto' in some cases etc). r=dholbert
...
The CSSWG minutes for reference:
https://lists.w3.org/Archives/Public/www-style/2015Dec/0233.html
With subsequent correction for the root node:
https://lists.w3.org/Archives/Public/www-style/2016Jan/0015.html
2016-01-05 21:27:13 +01:00
Bogdan Postelnicu
bbaed08615
Bug 1234535 - Avoid spurious null dereference complaint from Coverity. r=froydnj
2016-01-04 07:24:00 -05:00
Chris Peterson
e7aeaf5747
Bug 1235306 - Fix -Wimplicit-fallthrough warnings in layout/. r=dholbert
...
layout/base/nsCSSRendering.cpp:3913:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRendering.cpp:3943:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRendering.cpp:4066:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRendering.cpp:4096:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRenderingBorders.cpp:646:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:4639:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:4659:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:5004:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:5200:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/TouchManager.cpp:192:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/TouchManager.cpp:196:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFlexContainerFrame.cpp:2497:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFlexContainerFrame.cpp:2687:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFlexContainerFrame.cpp:2973:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:4277:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:4310:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:4313:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:6703:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:6751:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsGridContainerFrame.cpp:2649:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsGridContainerFrame.cpp:935:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsHTMLReflowState.cpp:1141:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsHTMLReflowState.cpp:1145:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsHTMLReflowState.cpp:1148:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:2942:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:2958:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:3134:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:3150:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/printing/nsPrintPreviewListener.cpp:199:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/CSSLexer.cpp:129:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:1069:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:366:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:442:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:981:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:3597:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:3616:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:539:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:540:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:542:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10628:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10630:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10671:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10673:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10769:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10770:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10774:43 [-Wimplicit-fallthrough] fallthrough annotation does not directly precede switch label
layout/style/nsCSSParser.cpp:10775:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10776:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10780:43 [-Wimplicit-fallthrough] fallthrough annotation does not directly precede switch label
layout/style/nsCSSParser.cpp:2542:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:2715:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:4124:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:4313:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9513:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9697:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9699:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9743:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9745:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9826:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9827:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9832:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9833:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9980:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:160:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:187:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:722:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:753:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/StyleAnimationValue.cpp:139:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/StyleAnimationValue.cpp:1687:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/StyleAnimationValue.cpp:1869:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/FixedTableLayoutStrategy.cpp:264:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/FixedTableLayoutStrategy.cpp:267:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:1043:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:930:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:953:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:997:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6943:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6953:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6959:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6966:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6974:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7151:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7161:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7170:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7177:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7186:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableRowFrame.cpp:663:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/SpanningCellSorter.cpp:112:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/SpanningCellSorter.cpp:142:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/SpanningCellSorter.cpp:157:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:86:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:87:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:88:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:90:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsSliderFrame.cpp:551:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsSliderFrame.cpp:560:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsXULPopupManager.cpp:2268:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
2015-11-22 21:33:47 -08:00
Mats Palmgren
96a4296719
Bug 1118820 part 1 (style system part) - [css-grid] Implement the 'auto-fill' and 'auto-fit' keywords in the repeat() function. r=dholbert
2015-12-22 23:03:15 +01:00
Mats Palmgren
56e3a4ec4d
Bug 1230207 - Add support for display:grid/flex layout on <fieldset> elements. r=bz,dholbert
2015-12-15 02:51:02 +01:00
Xidorn Quan
62ed71a7e7
Bug 1230508 - Always compute position to fixed for top layer elements for now. r=dbaron
...
Although the spec says absolute is allowed for top layer elements, and actually
other values should be computed to absolute, but this is mostly fine because
the only way we currently support for web content to use the top layer is via
the Fullscreen API, however, fullscreen elements are forced to be fixed by the
UA sheet.
Given only fixed is safe for top layer element currently, rather than doing
what the spec says, we should prefer always force it, until we really add
support for the other value.
2015-12-14 12:31:23 +11:00
L. David Baron
7ecb975c7f
Bug 1230701 - Make will-change:position create a containing block for absolutely-positioned elements. r=dholbert
2015-12-07 18:39:41 -05:00
L. David Baron
97c81bb98b
Bug 1228877 - Make nsStyleContext::HasChildThatUsesGrandancestorStyle by setting bit on grandchild's parent instead of grandchild. r=xidorn
2015-11-30 16:16:46 -08:00
L. David Baron
06ba55a3cc
Bug 1227766 patch 2 - Add will-change bit for establishing a containing block for fixed positioned elements. r=dholbert
2015-11-30 15:46:44 -08:00
L. David Baron
fe8e08e802
Bug 1228501 patch 2 - Remove nsFont::decorations member variable. r=jdaggett
...
The member variable was always set to 0 or to NS_FONT_DECORATION_NONE,
which is 0.
Although this does leave a gap in the structure, I don't see any
opportunities for reordering members to actually shrink nsFont.
2015-11-30 14:02:25 -08:00
Carsten "Tomcat" Book
e54a0bc16a
Backed out changeset 3a3cd254f508 (bug 1228501)
2015-11-30 12:10:38 +01:00
Carsten "Tomcat" Book
7407fb5421
Backed out changeset 4a3c509bcb25 (bug 1228877)
2015-11-30 12:10:32 +01:00
L. David Baron
f8301e2e73
Bug 1228877 - Make nsStyleContext::HasChildThatUsesGrandancestorStyle by setting bit on grandchild's parent instead of grandchild. r=xidorn
2015-11-29 23:15:37 -08:00
L. David Baron
98e2ba466f
Bug 1228501 patch 2 - Remove nsFont::decorations member variable. r=jdaggett
...
The member variable was always set to 0 or to NS_FONT_DECORATION_NONE,
which is 0.
Although this does leave a gap in the structure, I don't see any
opportunities for reordering members to actually shrink nsFont.
2015-11-29 23:15:01 -08:00
Mats Palmgren
a12b4c1fcc
Bug 1225592 - [css-grid] Apply a max limit to the number of explicit tracks we will store (kMaxLine - 1). Also make the layout code more robust so it doesn't depend on that. r=dholbert
2015-11-28 21:37:44 +01:00
Mats Palmgren
b1738be95a
Bug 1225376 part 1 - [css-align] Don't compute left/right to start in the style system anymore (due to pending spec change). Map the used value instead (in layout). r=dholbert
...
For background, see this www-style thread:
https://lists.w3.org/Archives/Public/www-style/2015Nov/0280.html
2015-11-28 21:37:44 +01:00
Xidorn Quan
0856abb2ea
Bug 1040668 part 2 - Parse and compute text emphasis properties. r=dbaron
2015-11-28 11:56:33 +11:00
L. David Baron
5c3ac7c18c
Bug 1227501 patch 3 - Handle custom properties correctly in transition-property. r=xidorn
...
Without the code change, the property_database.js changes lead to:
* 3 failures in test_value_cloning.html (one each for
transition-property, -moz-transition-property, and
-webkit-transition-property) that "computed value should be nonempty"
* 6 failures in test_value_computation.html (two each for
*transition-property) that "should not get empty value"
* 16 failures in test_value_storage.html "parse+compute+serialize...
should be idempotent": 2 for each longhand, 2 for the shorthand for
the unprefixed, and 4 for the shorthand for each prefixed
2015-11-24 17:45:02 -08:00
L. David Baron
c1cac7d629
Bug 1227501 patch 1 - Don't check flags for eCSSPropertyExtra_variable. r=xidorn
...
I tested locally that the crashtest in patch 2 hits the fatal assertion
without this patch, and passes with the patch.
2015-11-24 17:45:01 -08:00
Boris Chiou
842f2123db
Bug 1215406 - Part 2: Change the types of direction and fillmode in StyleAnimation. r=heycam
...
Use scoped enum mozilla::dom::FillMode and mozilla::dom::PlaybackDirection,
instead of uint8_t in StyleAnimation.
2015-11-20 06:09:00 +01:00
L. David Baron
cab615e8d5
Bug 1223653 patch 2 - Use an enum class for NS_STYLE_BOX_SIZING_*. r=heycam
...
The casts in nsCSSProps.cpp (defining kBoxSizingKTable) and in
nsComputedDOMStyle::DoGetBoxSizing (using
nsCSSProps::ValueToKeywordEnum) are a little bit annoying, though aren't
a net reduction in typesafety.
The casts in nsRuleNode.cpp (SetDiscrete) are a little more annoying,
though the change in this patch should be sufficient for converting all
properties -- but that may also mean reducing typesafety a bit for all
properties.
I'd like to find something better to do about them, but I think I'm ok
landing this before doing that. Bug 1224918 covers doing better.
2015-11-19 18:09:29 -08:00
Mats Palmgren
f0d397f047
Bug 1176792 part 1 - [css-grid] Implement the 'grid-column-gap', 'grid-row-gap', and 'grid-gap' properties in the style system. r=dholbert,dbaron
2015-11-18 19:52:27 +01:00
Kyle Zentner
75a3923e77
Bug 1170781 - Patch 1: Implement CSS 'contain: paint'. r=dholbert
2015-11-09 13:32:00 +01:00
Nicholas Nethercote
b038cea890
Bug 1038663 (part 6, attempt 2) - Allow percentage values for 'word-spacing'. r=heycam.
2015-11-08 16:40:37 -08:00
Nigel Babu
5f959e3a80
Backed out 6 changesets (bug 1038663) for Android opt R2 bustage
...
Backed out changeset 97e3492d6080 (bug 1038663)
Backed out changeset d176322f2d36 (bug 1038663)
Backed out changeset f69af9161252 (bug 1038663)
Backed out changeset 8bb77e5fad8c (bug 1038663)
Backed out changeset 954e57438f51 (bug 1038663)
Backed out changeset 16c0919101cd (bug 1038663)
2015-11-06 12:49:36 +05:30
Nicholas Nethercote
795ae6ee22
Bug 1038663 (part 6) - Allow percentage values for 'word-spacing'. r=heycam.
2015-11-05 17:25:46 -08:00
L. David Baron
f04a4b9207
Bug 1186768 patch 3 - Compute affectedByScriptMinSize sooner to avoid asserting or doing extra work. r=heycam
...
The assertion added in patch 1 caught a separate bug, which is that we
were computing whether we were affected by scriptMinSize too soon.
Prior to patch 1, this bug meant doing extra work (taking the slow
path). With patch 1, this changes in documents without MathML to
hitting the assertion instead of taking the slow path.
2015-11-06 11:26:50 +08:00
L. David Baron
05c4b69bf3
Bug 1186768 patch 1 - Avoid setting different font-size conditions due to MathML font size adjustments. r=heycam
2015-11-06 11:26:49 +08:00
Carsten "Tomcat" Book
33307cb06f
Backed out changeset dae1d7e445d3 (bug 1186768) for r4 test failures on a CLOSED TREE
2015-11-05 11:21:42 +01:00
L. David Baron
36bede3765
Bug 1186768 patch 1 - Avoid setting different font-size conditions due to MathML font size adjustments. r=heycam
2015-11-05 16:50:04 +08:00
L. David Baron
75a883e95b
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).
2015-11-05 16:44:10 +08:00
Wes Kocher
440650ce52
Backed out 3 changesets (bug 1176792) for WinXP/7 w(4) permafail
...
Backed out changeset 4d2f2e40bb5d (bug 1176792)
Backed out changeset 3de6f54e7f41 (bug 1176792)
Backed out changeset 887df043de31 (bug 1176792)
2015-11-04 15:42:38 -08:00
Mats Palmgren
fc45a53d7c
Bug 1176792 part 1 - [css-grid] Implement the 'grid-column-gap', 'grid-row-gap', and 'grid-gap' properties in the style system. r=dholbert
2015-11-04 13:46:32 +01:00
Mats Palmgren
3149757e26
Bug 1176782 part 6 - [css-align] Implement additional syntax and values for the 'align-content' property in the style system. r=cam
2015-11-03 15:18:06 +01:00
Mats Palmgren
623054f187
Bug 1176782 part 5 - [css-align] Implement additional syntax and values for the 'align-self' property in the style system. r=cam
2015-11-03 15:18:06 +01:00
Mats Palmgren
e0422d1e26
Bug 1176782 part 4 - [css-align] Implement additional syntax and values for the 'align-items' property in the style system. r=cam
2015-11-03 15:18:05 +01:00
Mats Palmgren
c3f3c9abcd
Bug 1176782 part 3 - [css-align] Implement additional syntax and values for the 'justify-content' property in the style system. r=cam
2015-11-03 15:18:05 +01:00
Mats Palmgren
1b223d253e
Bug 1176782 part 2 - [css-align] Implement the 'justify-self' property in the style system. r=SimonSapin
2015-11-03 15:18:05 +01:00
Mats Palmgren
f9f7acdb17
Bug 1176782 part 1 - [css-align] Implement the 'justify-items' property in the style system. r=SimonSapin
2015-11-03 15:18:05 +01:00
L. David Baron
37a893251f
Bug 1216431 patch 6 - Back out bug 1209603 patch 8. r=heycam
...
This requires a little bit of gymnastics since it has to add the inverse
of tests, since the is-a-reset-struct tests originally added in patch 8
were made unconditional in patch 9, and with this backout we now want to
execute the code only for inherited structs.
This also doesn't back out the cleanup to use NS_STYLE_INHERIT_BIT() for
constants rather than nsCachedStyleData::GetBitForSID.
This backs out the part of bug 1209603 whose speed I was concerned about.
2015-10-23 08:57:36 +09:00
L. David Baron
74dec8cccf
Bug 1216431 patch 4 - Don't trigger computation of new structs via testing of conditions for conditionally-stored structs on the rule node. r=heycam
...
This is the replacement fix for bug 1209603.
2015-10-23 08:57:35 +09:00
L. David Baron
1e1200c046
Bug 1216431 patch 3 - Cache structs that are stored with conditions on the rule node all the time, rather than only when freshly computed. r=heycam
...
This is another case similar to the problem fixed in bug 1209603 patch 9.
This should make things faster by caching structs on the style context
more reliably.
2015-10-23 08:57:35 +09:00
Nicholas Nethercote
92e5e88b56
Bug 1038663 (part 1) - Make nsStyleText::mWordSpacing an nsStyleCoord. r=heycam.
...
This makes mWordSpacing a lot more like mLetterSpacing, while maintaining the
existing "'normal' computes to 0px" behaviour.
2015-10-21 22:13:11 -07:00
Cameron McCormack
2f9536cefe
Bug 1208951 - Part 3: Expose nsCSSValue -> nsTimingFunction computation function. r=birtles
2015-10-22 19:22:37 +11:00
L. David Baron
e8c8de223a
Bug 1216747 - Cleanup after test fix. r=heycam
...
To fix bustage I landed a minimal change to fix the mistake in the first
patch (using the value of nsStyleVisibility::mWritingMode in
SetWritingModeDependency instead of WritingMode::GetBits), but this does
some further simplification given that we need a WritingMode now.
2015-10-21 17:51:12 -07:00
L. David Baron
114616942f
Bug 1216747 followup - Use the correct value when calling SetWritingModeDependency.
2015-10-21 00:12:07 -07:00
L. David Baron
dd6fd906f2
Bug 1216747 - Record dependency on writing mode in nsRuleNode::ComputeStylePosition. r=heycam
...
Without the patch, both reftests fail; with it, both pass.
2015-10-20 22:52:57 -07:00
L. David Baron
05301ec608
Bug 1209603 patch 9 - Cache inherited style structs on the style context when we found already-cached data in the rule tree. r=heycam
...
This means we obey the invariant that if we've requested an inherited
struct on a context, that struct will be cached on the style context. I
believe bug 527977 intended to do make us obey this invariant, but it
missed the case where nsRuleNode::GetStyle* found cached data already on
the rule node, and the case where nsRuleNode::WalkRuleTree found a
usable struct higher in the rule tree.
Without this change, patch 10 will not function correctly for inherited
structs when we encounter this case, and will cause assertions in
dom/base/test/test_bug560780.html due to triggering style change hints
on text nodes that inherited a color struct from a parent on whose rule
node the struct was stored. (It may also have caused some of the other
test failures.)
This should be a clear performance improvement, since the path that's
being slowed down by the added work in this patch will, with the patch,
now only execute once because of that work.
2015-10-19 20:42:29 -07:00
L. David Baron
29b47569ad
Bug 1209603 patch 8 - Record in mBits when we have gotten a reset style struct that is cached on the rule node. r=heycam
...
I'm a little worried about the performance of the change to
nsRuleNode::GetStyle*, which sets a bit on the style context every time
a struct getter goes through it. It's not obvious how that compares to
the performance benefit from patch 10.
2015-10-19 20:42:29 -07:00
L. David Baron
8f905cd733
Bug 1209603 patch 7 - Add assertions that we don't ask the rule node for data when we have cached data on the style context. r=heycam
...
These document an invariant that I depend on in the next patch.
2015-10-19 20:42:28 -07:00