Commit Graph

910 Commits

Author SHA1 Message Date
Cameron McCormack
b1420ed1e1 Bug 1261754 - Part 6: Move vertical-align from nsStyleTextReset to nsStyleDisplay. r=dholbert 2016-04-12 15:52:41 +10:00
Cameron McCormack
1bdab05758 Bug 1261754 - Part 5: Move text-rendering from nsStyleSVG to nsStyleText. r=dholbert 2016-04-12 15:52:41 +10:00
Cameron McCormack
63b27b0c4a Bug 1261754 - Part 4: Move image-rendering from nsStyleSVG to nsStyleVisibility. r=dholbert 2016-04-12 15:52:40 +10:00
Cameron McCormack
0739b68747 Bug 1261754 - Part 3: Move quotes from nsStyleQuotes to nsStyleList and delete nsStyleQuotes. r=dholbert 2016-04-12 15:52:40 +10:00
Cameron McCormack
90e0b1ae32 Bug 1261754 - Part 2: Make quotes computed values shareable between different structs. r=dholbert 2016-04-12 15:52:40 +10:00
Cameron McCormack
45cfabca65 Bug 1261754 - Part 1: Improve static assertions for style struct bits. r=dholbert 2016-04-12 15:52:39 +10:00
Bobby Holley
f7d00ff7ed Bug 1261552 - Introduce StyleStructContext, and make all style struct constructors take it. r=heycam 2016-04-04 23:14:29 -07:00
Bobby Holley
126c790101 Bug 1261552 - Reimplement default placement-new for style structs. r=heycam
We require a pointer of the class type, rather than void*, to reduce
the risk of accidentally calling this overload instead of the PresContext
one.
2016-04-04 23:14:26 -07:00
Tobias Schneider
bf5c366559 Bug 1209273 - Part 1: Support for adjust-color CSS property. r=dbaron 2016-03-08 09:25:24 -08:00
Carsten "Tomcat" Book
a5ce6d8137 Backed out changeset d5a9ff0ae110 (bug 1209273) for test failures in browser_rules_completion-new-property_02.js 2016-04-01 11:58:12 +02:00
Tobias Schneider
db4a5786ac Bug 1209273 - Part 1 - Support for color-adjust CSS property. r=dbaron 2016-03-10 10:51:00 +01:00
Bobby Holley
cbcd56169e Bug 1258017 - Redesign and simplify rule tree GC. r=dbaron
The basic idea here is as follows:
* Rule nodes are reference-counted, but releasing them adds them to a linked
  list rather than freeing them. This allows for the reuse that motivated the
  original GC scheme.
* We get rid of the marking, and instead rely on the reference count.
* Sweeping no longer requires a complicated traversal. We just pop items
  off the free list until it's empty. When a child is destroyed, its parent
  may go onto the free list.
* We remove special handling for the root node, and use a regular reference-counted
  edge from the style set.
* The free list automatically asserts that it's empty (meaning all nodes have been
  freed) in its destructor, which runs when the style set is destroyed.
* We get rid of the list of style context roots on the style set. We still need
  a count though, because of the HasCachedStyleData check.
2016-03-28 08:59:22 -07:00
Emilio Cobos Álvarez
162384beeb Bug 1259802: Add type replacement annotations to simplify rust binding generation for nsStyleStruct.h, r=bholley
This way or bindings are sane, and we don't have to bring in a lot of
the gfx code.
2016-03-25 11:46:21 -07:00
Jeremy Chen
f9662ce154 Bug 1247777 - Part1: parse and compute -webkit-text-fill-color property. r=heycam 2016-03-25 15:54:49 +08:00
Daniel Holbert
22b6cb5f0f Bug 1236400 part 1: Add internal enum values to represent "display: -webkit-box" & "display: -webkit-inline-box". r=mats
These new enum values are added with same behavior as their modern flexbox
equivalents -- they're hooked up to NS_NewFlexContainerFrame, and they're
listed alongside the modern flexbox enums in 'switch' & 'if' statements.

There's one exception, which I call out with a comment at the end of the patch:
we don't treat -webkit-box the same as flexbox in IsFlexOrGridDisplayType(),
because that method is used to determine whether we should blockify
inline-level children of a flex/grid container, and we don't want to blockify
any children of a -webkit-box. (Instead, we want to wrap them in an anonymous
flex item. That happens in the next patch.)

MozReview-Commit-ID: 9BB4Ib2KpvE
2016-03-24 09:55:11 -07:00
L. David Baron
80dfd686b3 Bug 1142531: Check more bits in nsStyleContext::MoveTo assertion. r=heycam
MozReview-Commit-ID: 455suOkmdj7
2016-03-14 10:27:05 -07:00
CJKu
07b79cda11 Bug 1224424 - Replace mask-mode:auto keyword by mask-mode:match-source; r=dbaron
MozReview-Commit-ID: FKEJI1rHTIA
2016-02-25 17:31:47 +08:00
L. David Baron
9e5b44fae4 Bug 1187851 patch 6 - Make dynamic changes to filter change fixed position containing block for descendants. r=roc
MozReview-Commit-ID: DDSadc3yzDL
2016-02-24 16:08:31 -08:00
Jonathan Watt
485934e076 Bug 1110460, part 5 - Factor out a nsStyleBasicShape::GetShapeTypeName method. r=dholbert 2016-02-17 00:19:27 +00:00
Dirk Schulze
6a3a90528f Bug 1075457, part 1 - Implement rendering for |clip-path:polygon()|. r=mstange, r=jwatt 2016-02-08 22:08:09 +00:00
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Markus Stange
c1663a433e Bug 1241275 - Change the way -moz-window-dragging works. r=heycam,roc
This adds the value -moz-window-dragging: default as the initial value of the property,
and makes it a [reset] property. This allows us to change the way the window dragging
region is calculated: Elements with -moz-window-dragging: no-drag will now always be
undraggable, even if they are overlapped by -moz-window-dragging: drag elements. That
way we can keep the region calculation simple and don't have to add code to respect
z-ordering.
2016-01-27 11:58:33 +01:00
CJKu
3ac42bd03c Bug 686281 - Rename nsStyleSVGReset::mLayers to nsStyleSVGReset::mMask; Rename nsStyleBackground::mLayers to nsStyleBackground::mImage. r=dbaron 2016-01-28 06:39:00 +01:00
CJKu
4aebbc124c Bug 686281 - Remove nsStyleSVGReset::mMask; r=dbaron 2016-01-28 06:37:00 +01:00
CJKu
f6c88120b7 Bug 686281 - A static assertion to keep value correctness of NS_RULE_NODE_IS_ANIMATION_RULE; r=dbaron. 2016-01-28 06:36:00 +01:00
CJKu
bf17fc7340 Bug 686281 - Implement CSS mask style; r=dbaron. 2016-01-28 06:28:00 +01:00
CJKu
ff44f07acd Bug 686281 - Rename *background* to *imagelayer*; r=dbaron. 2016-01-28 06:27:00 +01:00
CJKu
d5371994d3 Bug 686281 - Implement nsStyleImageLayers; r=dbaron 2016-01-28 06:24:00 +01:00
Cameron McCormack
bef1844e92 Bug 1238403 - Fix inconsistent indenting in layout/style/. r=xidorn 2016-01-11 10:28:35 +11:00
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
Xidorn Quan
e2492284b4 Bug 1231485 part 2 - Add NeutralChange hint to nsStyleText::MaxDifference(). r=dbaron 2016-01-04 10:47:05 +11:00
Hiroyuki Ikezoe
2ab1a6e53b Bug 1234966 - nsStylePosition::MaxDifference should include nsChangeHint_NeutralChange because CalcDiffrence returns it. r=heycam 2015-12-24 09:35:18 +09: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
Daniel Holbert
2b16d5dea3 (no bug) Fix typo in grid style-struct comment: s/grid-columns-rows/grid-template-rows/. No review, DONTBUILD 2015-12-18 16:28:38 -08:00
L. David Baron
9882014b12 Bug 1224251 patch 3 - Return nsChangeHint_UpdateUsesOpacity when opacity changes between 1 and non-1. r=xidorn 2015-11-30 21:25:54 -08: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
fd5897e3cd Bug 1228501 patch 4 - Remove nsStyleFont::CalcFontDifference, which now duplicates the list of tests in nsFont::Equals. r=jdaggett 2015-11-30 14:02:25 -08:00
Carsten "Tomcat" Book
17dd3eef29 Backed out changeset 91898a35b414 (bug 1224251) 2015-11-30 12:10:43 +01:00
Carsten "Tomcat" Book
1c3df9533b Backed out changeset ec79945130ff (bug 1228501) 2015-11-30 12:10:35 +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
3a88c49bad Bug 1228501 patch 4 - Remove nsStyleFont::CalcFontDifference, which now duplicates the list of tests in nsFont::Equals. r=jdaggett 2015-11-29 23:15:26 -08:00
L. David Baron
1596db2fce Bug 1224251 patch 3 - Return nsChangeHint_UpdateUsesOpacity when opacity changes between 1 and non-1. r=xidorn 2015-11-29 23:15:01 -08: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
713c472a8d Bug 1040668 part 10 - Implement emphasis mark rendering. r=jfkthame 2015-11-28 11:56:33 +11: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
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