Commit Graph

70 Commits

Author SHA1 Message Date
Daniel Holbert
7c613d5a1a Bug 921522: Use already-established flex container content-box main size to determine packing space, instead of checking reflow state. r=mats
--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1a.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-1b.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1a.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-1b.xhtml
2013-09-30 16:38:36 -07:00
Ehsan Akhgari
0a3a2ee94a Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Daniel Holbert
52a24bec16 Bug 918519 part 2: Replace GetMainComponent/GetCrossComponent invocations with macros to avoid unnecessarily constructing nsSize() on-the-fly. r=mats 2013-09-20 13:26:52 -07:00
Daniel Holbert
7935e04c63 Bug 918519 part 1: Add macros GET_MAIN_COMPONENT and GET_FLEX_COMPONENT to nsFlexContainerFrame.cpp, and use them to implement existing utility methods. r=mats 2013-09-20 13:26:52 -07:00
Daniel Holbert
57aadd37fc Bug 917032 part 3: Move flex item physicalPosn computation up a bit higher. r=mats 2013-09-17 14:54:07 -07:00
Daniel Holbert
4d20a18dc9 Bug 917032 part 2: Make PhysicalPositionFromLogicalPosition() take the content-box size, so it can do polarity-flipping if necessary. r=mats 2013-09-17 14:54:02 -07:00
Daniel Holbert
4dac163182 Bug 917032 part 1: Do flex layout in content-box space, rather than in frame-rect (border-box) space, and adjust for border/padding at the end of reflow. r=mats 2013-09-17 14:53:56 -07:00
Daniel Holbert
5866ac9a1f Bug 914937: Remove nsFlexContainerFrame::GetSkipSides, now that we can inherit a useful impl from nsSplittableFrame. r=mats 2013-09-11 13:54:44 -07:00
Scott Johnson
0aef9cf06c Bug 794693, part 1: Refactor nsHTMLReflowState constructor to allow initialization to be done by caller. [r=dbaron] 2013-09-09 15:29:05 -05:00
Ehsan Akhgari
80d135155d Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Daniel Holbert
9663beb46d (no bug, whitespace only) Remove unnecessary newline in nsFlexContainerFrame.cpp. DONTBUILD 2013-08-16 18:00:13 -07:00
Corey Ford
b2510f37c3 Bug 898794 - Store normal frame position before applying relative positioning. r=dbaron 2013-08-08 17:20:17 -07:00
Scott Johnson
894c1e922c Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-25 10:34:27 -05:00
Ryan VanderMeulen
6b307780d7 Backed out 6 changesets (bug 743402) for reftest failures on a CLOSED TREE.
Backed out changeset 19848fff857e (bug 743402)
Backed out changeset 049168537ae0 (bug 743402)
Backed out changeset 3098fea37f2d (bug 743402)
Backed out changeset ada93e976dca (bug 743402)
Backed out changeset c7907c54187f (bug 743402)
Backed out changeset 2edbbf6440c4 (bug 743402)
2013-07-24 15:14:04 -04:00
Scott Johnson
a2790e3b0b Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-24 12:47:17 -05:00
Corey Ford
a7574f8535 Bug 893962 - Refactor the application of relative positioning. r=dbaron 2013-07-15 17:28:09 -07:00
Daniel Holbert
48e5024923 Bug 885424 part 4: Refactor ComputeFlexContainerMainSize to have a clearer horizontal case vs. vertical case. r=dbaron 2013-07-11 16:47:03 -07:00
Daniel Holbert
72c1fdc5a8 Bug 885424 part 3: Rename flexContainerMainSize to contentBoxMainSize, for clarity, and mark that & 'frameMainSize' as const. r=dbaron 2013-07-09 14:38:59 -07:00
Daniel Holbert
c77530ad52 Bug 885424 part 2: Perform flexbox main-axis alignment separately from cross-size determination, to more closely match the ordering of steps in flexbox spec. r=dbaron 2013-07-09 14:38:59 -07:00
Daniel Holbert
2a0690a89e Bug 885424 part 1: Set aStatus at the very beginning of flexbox reflow, and call NS_FRAME_SET_TRUNCATION at the very end. r=dbaron 2013-07-09 14:38:59 -07:00
Daniel Holbert
36aaafb064 Bug 885424 part 0: Shift declarion of 'frameCrossSize' down to where it's actually used. r=dbaron 2013-07-09 14:38:59 -07:00
Justin Lebar
6c46d0633d Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar
75c400493b Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Daniel Holbert
821e839253 (no bug) Improve/correct some comments in nsFlexContainerFrame::Reflow. comment-only, DONTBUILD 2013-06-20 12:05:35 -07:00
Daniel Holbert
033d14389c Bug 877890: In CSS flexbox and XUL box model, sort placeholders using their out-of-flow frame's order/ordinal value. r=bz 2013-05-31 22:14:03 -07:00
Daniel Holbert
47db2ab059 Bug 876074: Soften flexbox assertion about out-of-order children, since it's not dangerous and it can be triggered by unrelated-to-flexbox tree mutations. r=bz 2013-05-28 09:39:02 -07:00
Daniel Holbert
5707dc9c19 Bug 825810 part 2: When digging for a flex item's first non-anonymous descendant, check table caption list & column-group list. r=bz 2013-05-22 11:59:36 +08:00
Daniel Holbert
d9fc4ef605 Bug 825810 part 1: Make GetFirstNonAnonBoxDescendant() okay with receiving & returning null frame pointers. r=bz 2013-05-22 11:59:35 +08:00
Daniel Holbert
d4368501c1 Bug 873172: When checking whether a flex item is generated content, skip past any anonymous boxes around it. r=bz
--HG--
rename : layout/reftests/flexbox/flexbox-with-pseudo-elements-1-ref.html => layout/reftests/flexbox/flexbox-with-pseudo-elements-3-ref.html
rename : layout/reftests/flexbox/flexbox-with-pseudo-elements-1.html => layout/reftests/flexbox/flexbox-with-pseudo-elements-3.html
2013-05-19 11:37:56 +08:00
Daniel Holbert
3d525c91d6 (no bug, comment-only) s/:before/::before/ in one comment, for consistency with rest of the comment. DONTBUILD 2013-05-16 15:02:16 -07:00
Daniel Holbert
08dca0f21a Bug 870555 part 2: Add nsFlexContainerFrame::GetSkipSides specialization. r=mats 2013-05-09 20:10:49 -07:00
Daniel Holbert
8618452256 Bug 867454: Treat a flex container's ::before and ::after generated content nodes as flex items. r=bz 2013-05-02 14:04:47 -07:00
Daniel Holbert
6623769c9c Bug 858332: Make flex items pseudo-stacking contexts, per recent spec change. r=mats 2013-04-18 09:51:18 -07:00
Joshua Cranmer
c7aade5e1f Bug 856108 - Port static analyses to clang, part 2e: use MOZ_STACK_CLASS in layout. r=mats 2013-04-11 22:20:45 -05:00
Daniel Holbert
8dd3ed3130 Bug 785468: Compute flex container's baseline as-described in the spec. r=dbaron 2013-03-29 18:32:08 -07:00
Daniel Holbert
18cb8ef09e Bug 853946: Replace flex container's cached content-box cross-size and cached ascent with local variables in Reflow(). rs=Waldo 2013-03-29 18:32:03 -07:00
Daniel Holbert
38edcb5316 Bug 854263: Add special-case for flex items that are instances of nsFrame, whose trivial reflow impl doesn't request enough space for its border/padding. r=dbaron 2013-03-28 01:50:21 -07:00
Daniel Holbert
3bcdb3c7b7 Bug 848539 part 3: Back out part of 076d87bf30d0, bug 666041 part 7 (flexbox frame class impl -- just removing the code that deals with min-height:auto). r=dbaron 2013-03-27 23:33:19 -07:00
Daniel Holbert
23ae17fd01 (no bug) Fix indentation of multi-line std::max invocations in nsFlexContainerFrame. Whitespace-only, DONTBUILD 2013-03-22 12:13:51 -07:00
Daniel Holbert
c3374e8f8b Bug 851607: Make nsFlexContainerFrame::Reflow reflow its children unconditionally. r=dbaron 2013-03-15 22:40:57 -07:00
Daniel Holbert
432403a040 Bug 841827: Mark flex container frame as having a relative height, if it's abspos w/ auto-height and top,bottom both set. r=dbaron
--HG--
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-4.xhtml
2013-03-14 01:18:53 -07:00
David Zbarsky
2c3499b66c [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
Daniel Holbert
982fa1af14 Bug 841847: Ensure that we reflow a flex container's children, if any of them received a "measuring" reflow. r=dbaron
--HG--
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-2-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-2-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-2.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-iframe.html => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-3-iframe.html
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1-ref.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-3-ref.xhtml
rename : layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-1.xhtml => layout/reftests/flexbox/flexbox-dyn-changeFrameWidth-3.xhtml
2013-02-22 22:32:30 -08:00
L. David Baron
822b2ca3bc Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
d9665619b9 Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan
59dfd955a1 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00
L. David Baron
63fdfec174 Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Daniel Holbert
db5d7928b8 Bug 821775: Set mHResize & mVResize flags when doing the actual reflow of a flex item, if we did an earlier "measuring" reflow and we're now stretching the item in either or both dimensions. r=dbaron 2013-02-15 14:01:48 -08:00
Daniel Holbert
07e4fefcb8 (no bug) Fix comment in typo, and remove stale XXXdholbert comment. Comment-only, DONTBUILD 2013-01-17 21:32:31 -08:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00