Commit Graph

368 Commits

Author SHA1 Message Date
Brad Werth
23a798cfe6 Bug 1310015: Change MainAxisTracker to consistently use NS_STYLE_JUSTIFY constants. r=mats
MozReview-Commit-ID: F8VfIuZJqFa
2016-10-13 14:20:48 -07:00
Julian Descottes
767cf287ed Bug 1308993 - aboutdebugging remove align-items: self-start;r=erahm
MozReview-Commit-ID: 7d054lVgwdt
2016-10-13 16:42:26 +02:00
Daniel Holbert
19aa0ed340 Bug 1090031: Apply CSS 'align-content' in flex containers if they *could* wrap (rather than if they *have* wrapped). r=mats
The spec says that single-line flex containers should stretch their one flex
line to the flex container's cross size, and should ignore 'align-content'.

Initially, the spec defined 'single-line' to include any flex container that
happens to have only 1 line (even if it's got 'flex-wrap:wrap' or
'wrap-reverse'). But later, the term 'single-line' was intentionally redefined
to *only* include flex containers that have 'flex-wrap: nowrap'.  So, instead
of checking the line-count, we should instead check 'flex-wrap', when deciding
whether to stretch our one line & ignore 'align-content'.


MozReview-Commit-ID: D2ZMIBS16ui
2016-10-12 09:04:03 -07:00
Wes Kocher
875b8d2e93 Backed out changeset 37e0c017b268 (bug 1090031) for reftest failures a=backout 2016-10-12 14:46:23 -07:00
Daniel Holbert
7be0e7ad64 Bug 1090031: Apply CSS 'align-content' in flex containers if they *could* wrap (rather than if they *have* wrapped). r=mats
The spec says that single-line flex containers should stretch their one flex
line to the flex container's cross size, and should ignore 'align-content'.

Initially, the spec defined 'single-line' to include any flex container that
happens to have only 1 line (even if it's got 'flex-wrap:wrap' or
'wrap-reverse'). But later, the term 'single-line' was intentionally redefined
to *only* include flex containers that have 'flex-wrap: nowrap'.  So, instead
of checking the line-count, we should instead check 'flex-wrap', when deciding
whether to stretch our one line & ignore 'align-content'.


MozReview-Commit-ID: D2ZMIBS16ui
2016-10-12 09:04:03 -07:00
Brad Werth
59ba3ec6e3 Bug 1306894 Part 1: Cache baseline from nsFlexContainerFrame::Reflow() for use in later calls to GetLogicalBaseline(). r=dholbert
MozReview-Commit-ID: JXUK8a0L1RZ
2016-10-11 12:54:00 -07:00
Brad Werth
bd72b09910 Bug 1221565 Part 2: Make nsFlexContainerFrame map justify-content and align-content values of 'left' and 'right' to 'start' or 'end'. r=dholbert
MozReview-Commit-ID: 8sZyFwIlpr4
2016-10-07 09:22:52 -07:00
Brad Werth
ca944ec246 Bug 1221565 Part 1: Make nsFlexContainerFrame map align-self values of 'left' and 'right' to either 'start' or 'end'. r=dholbert
MozReview-Commit-ID: 8Xv4BzZ3Okv
2016-10-06 15:55:39 -07:00
Mats Palmgren
860b9c5155 Bug 984869 - Add support for display:flex/grid and columnset layout to <button>. r=tn 2016-10-06 22:43:22 +02:00
Brad Werth
dd331658a6 Bug 1305844 - Make most align/justify nsStylePosition members public, and remove trivial accessors. r=dholbert 2016-10-03 13:05:35 -07:00
Brad Werth
1148c21217 Bug 1304012 -- Part 2: Rename nsStyleStruct Computed**Self functions to Used**Self. r=dholbert
MozReview-Commit-ID: FCBuT2Z7sy6
2016-09-30 09:15:57 -07:00
Daniel Holbert
19c23008a3 Bug 1306213: When resolving a flex item's "align-self: auto", use the flex container (not style-context parent) as the "align-items" source. r=mats
(Normally, the style-context parent will *be* the flex container's style
context, so this patch won't change behavior at all. But if a flex container
has a "display:table" child, then there's an extra style context in the
inheritance chain (due to how style inheritance works for nsTableWrapperFrame).
And we don't want that extra style context to mess up the ability of a flex
container's "align-items" property to actually align the flex items.)

MozReview-Commit-ID: GFyxhEwM68S
2016-09-28 23:53:20 -07:00
Xidorn Quan
24734c1427 Bug 1301014 - Fix intrinsic inline-size of flex container in vertical writing modes. r=dholbert
MozReview-Commit-ID: 7ef2EqMxOI5
2016-09-16 20:39:39 +10:00
Nicholas Nethercote
887efe04d5 Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.
2016-09-01 15:01:16 +10:00
Emilio Cobos Álvarez
2efcfaad38 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Mats Palmgren
36560b9509 Bug 1171419 part 10 - Rename RenumberLists() to RenumberList(). r=xidorn 2016-09-01 17:36:23 +02:00
Mats Palmgren
6b1e9e5fc6 Bug 1171419 part 9 - Implement list-item numbering for flex containers. r=xidorn 2016-09-01 17:36:23 +02:00
Ravi Shankar
27b0e2b9f2 Bug 1297982 - Replace NS_STYLE_BOX_ORIENT_* with enum class; r=xidorn
MozReview-Commit-ID: GC0VRyHUM4V
2016-08-26 12:48:41 +05:30
Ravi Shankar
26db0836fe Bug 1297982 - Replace NS_STYLE_BOX_DIRECTION_* with enum class; r=xidorn
MozReview-Commit-ID: H6Mr73864O2
2016-08-26 12:47:09 +05:30
Ravi Shankar
49bd1a9b5f Bug 1297982 - Replace NS_STYLE_BOX_PACK_* with enum class; r=xidorn
MozReview-Commit-ID: Cx20hOJbmad
2016-08-26 12:41:54 +05:30
Ravi Shankar
8b54ac9176 Bug 1297982 - Replace NS_STYLE_BOX_ALIGN_* with enum class; r=xidorn
MozReview-Commit-ID: EO8hXmXooft
2016-08-26 12:39:19 +05:30
Pranaydeep Singh
2d0c6f7543 Bug 1293738 - Remove unneeded aWM arg from some FlexboxAxisTracker methods. r=dholbert, r=emilio 2016-08-12 05:43:06 +05:30
Emilio Cobos Álvarez
7e74dea1dc Bug 1000957: For single-line flex containers, clamp the flex line to container's min/max cross size. r=dholbert
MozReview-Commit-ID: 9Kqg0lPnkv0
2016-08-10 15:46:35 -07:00
Emilio Cobos Álvarez
cae631d3af Bug 1000957: Whitespace cleanup in nsFlexContainerFrame::Reflow. r=dholbert
MozReview-Commit-ID: 1kGrL6Ji0Rp
2016-08-10 15:46:30 -07:00
Emilio Cobos Álvarez
2d81d293c7 Bug 1000957: Uncomment some flexbox warnings referencing fixed bugs. r=dholbert
MozReview-Commit-ID: COy0I1nm3DU
2016-08-10 15:46:21 -07:00
Ting-Yu Lin
7e5a56b15d Bug 1277129 Part 7c - Rename various RS variables to RI. r=dbaron
This patch is generated by the following script:

function rename() {
find layout\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename aChildRS aChildRI
rename aContainingBlockRS aContainingBlockRI
rename aFrameRS aFrameRI
rename aLastRS aLastRI
rename aOuterRS aOuterRI
rename aRS aRI
rename blockHtmlRS blockHtmlRI
rename captionRS captionRI
rename cellRS cellRI
rename childRS childRI
rename firstAncestorRS firstAncestorRI
rename flexContainerRS flexContainerRI
rename gridRS gridRI
rename innerRS innerRI
rename lastButOneRS lastButOneRI
rename LineContainerRS LineContainerRI
rename mBlockRS mBlockRI
rename parentRS parentRI
rename secondAncestorRS secondAncestorRI
rename lastRSSize lastRISize
rename lastRSPadding lastRIPadding

MozReview-Commit-ID: YEgZs3WMow
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
d3e8cf1818 Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
3b9a7090d9 Bug 1277129 Part 6b - Rename rendContext to mRenderingContext in SizeComputationInput. r=dbaron
MozReview-Commit-ID: LczLJDtDncy
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
a16062e5d0 Bug 1277129 Part 6a - Rename frame to mFrame in SizeComputationInput. r=dbaron
MozReview-Commit-ID: 3SXZ4qEZJc
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
bb0825b5c7 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
10912a51e3 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc
2016-07-21 18:36:35 +08:00
Michael Li
a5d5ed2560 Bug 1283273 - Change nsAutoPtr to UniquePtr in classes within layout/generic. r=dholbert 2016-07-08 08:08:00 +02:00
Brad Werth
69ccb7e3db Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Phil Ringnalda
ae1f6b874d Back out changeset 0bb00282a4c2 (bug 1243559) for widespread SVG assertion failures
CLOSED TREE
2016-06-22 18:45:08 -07:00
Brad Werth
665cd94da6 Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Astley Chen
f691419a15 Bug 1277131 : Part 3 - rename nsGkAtoms::tableOuterFrame and nsCSSAnonBoxes::tableOuter. r=heycam
MozReview-Commit-ID: 7GIjtUH9hdZ
2016-06-16 13:35:43 +01:00
Jonathan Watt
9c5b8de022 Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Ting-Yu Lin
16cc2366c3 Bug 1276870 - Rename parentReflowState to mParentReflowState in nsHTMLReflowState. r=dholbert
MozReview-Commit-ID: ETfT1Iow7kF
2016-05-31 17:40:31 +08:00
Daniel Holbert
745e7d6472 Bug 1272721: Fix rtl-checking logic in legacy -webkit-box codepath, to actually reverse the correct axis under correct conditions. r=mats
MozReview-Commit-ID: AQf71HMuyzO
2016-05-25 10:48:06 -07:00
Daniel Holbert
4e1f540883 Bug 1030952 part 4: For flex items with an aspect ratio, stomp on reflow state's main size *and cross size* in final reflow. r=mats
MozReview-Commit-ID: CzZzy9gOHFK
2016-04-28 20:17:03 -07:00
Daniel Holbert
975d572fef Bug 1030952 part 3: Add a frame property to allow flex container to impose a different main-size on a flex item for aspect ratio calculations. r=mats
MozReview-Commit-ID: HZylbVhO1Iv
2016-04-28 20:17:02 -07:00
Daniel Holbert
5b757413c0 Bug 1030952 part 2: Change flex layout to recognize that an aspect ratio allows main-size to influence cross-size. r=mats
MozReview-Commit-ID: E2htKm7XGLY
2016-04-28 20:16:59 -07:00
Daniel Holbert
cace94ec32 Bug 1030952 part 1: Save each flex item's intrinsic ratio during reflow, for easy reuse. r=mats
MozReview-Commit-ID: 84dtBQUJZP7
2016-04-28 20:16:58 -07:00
Daniel Holbert
1e27432052 Bug 1180107: Factor out logic for determining whether a flex item's main size could influence cross size. r=mats
MozReview-Commit-ID: 702zyjj4TPd
2016-04-25 15:58:55 -07:00
Xidorn Quan
15df861e15 Bug 1097499 part 3 - Add a separate anonbox for text nodes. r=heycam
MozReview-Commit-ID: 1GfoFEGhyka
2016-04-22 09:18:41 +10:00
Daniel Holbert
ee1dc421e9 Bug 1262049 part 5: Honor -webkit-box-orient & -webkit-box-direction when determining axes for a -webkit-box flexbox. r=mats
MozReview-Commit-ID: BG93ObYPjUg
2016-04-20 16:43:24 -07:00
Daniel Holbert
645a459fd2 Bug 1262049 part 4: Refactor some of FlexboxAxisTracker constructor's logic into a helper method. r=mats
MozReview-Commit-ID: 85O3Nqm7EMb
2016-04-20 16:43:24 -07:00
Daniel Holbert
a3cce1680b Bug 1262049 part 3: Refactor FlexboxAxisTracker constructor to take pointer to nsFlexContainerFrame. r=mats
MozReview-Commit-ID: KIYStnToe0C
2016-04-20 16:43:24 -07:00
Ting-Yu Lin
e3f10f89af Bug 1264837 Part 5 - Remove nsFlexContainerFrameSuper. r=dholbert
MozReview-Commit-ID: 1PejkyMfn0V
2016-04-18 13:51:36 +08:00
Timothy Nikkel
025ed32d67 Bug 1261703. When moving flex frame, position its view as well as any child views. r=dholbert
This is unlikely to change any behaviour, but is more correct.
2016-04-08 01:13:56 -05:00