Граф коммитов

157 Коммитов

Автор SHA1 Сообщение Дата
Mats Palmgren 0bdfe726a9 Bug 1221525 part 4 - [css-grid] Implement Grid layout for align|justify-self:baseline|last-baseline (aka "Baseline Self-Alignment"). r=dholbert 2016-06-02 17:46:58 +02:00
Mats Palmgren 539e419e85 Bug 1221525 part 3 - [css-grid] Caclulate the baseline offset values and baseline subtree alignment. r=dholbert 2016-06-02 17:46:58 +02:00
Mats Palmgren aa90d52500 Bug 1221525 part 2 - [css-grid] Add GridItemInfo::mState member (for each axis) and make the mIsFlexing bool into a state flag, and add baseline state flags. Also add a baseline offset member. r=dholbert 2016-06-02 17:46:58 +02:00
Mats Palmgren 730431ba99 Bug 1221525 part 1 - [css-grid] Break out the grid item measuring reflow code to a separate function. Also, make the size contribution functions take a GridItemInfo instead of a frame, for use in later parts (idempotent patch). r=dholbert 2016-06-02 17:46:58 +02:00
Mats Palmgren 5e2c16366e Bug 1266268 - [css-grid] Implement <percentage> for grid gap properties. r=dholbert 2016-05-25 10:48:52 +02:00
Mats Palmgren e643bbeaf5 Bug 1271392 part 6 - [css-grid] Remove now dead code. r=dholbert 2016-05-18 13:49:33 +02:00
Mats Palmgren 4d19f2a6ef Bug 1271392 part 4 - [css-grid] Make sure a grid item's last fragment fills its grid area. r=dholbert 2016-05-18 13:49:33 +02:00
Mats Palmgren a1b690d0f2 Bug 1271392 part 2 - [css-grid] When pulling up grid item, make sure its next-in-flow (if any) is in our next-in-flow. r=dholbert 2016-05-18 13:49:33 +02:00
Mats Palmgren 6dca609754 Bug 1271392 part 1 - [css-grid] Make grid item 'stretch' not require an extra reflow. r=dholbert
This part removes the 'stretch' logic in AlignJustifySelf and implements
it in nsLayoutUtils::ComputeSizeWithIntrinsicDimensions /
nsFrame::ComputeSize instead.
2016-05-18 13:49:33 +02:00
Mats Palmgren 5ed9f29039 Bug 1267555 part 1 - [css-grid] Make grid-aligned abs.pos. descendants that span from 'auto' to the first/last line stretch to the outer edge of the first/last track respectively. r=dholbert 2016-04-28 21:21:19 +02:00
Mats Palmgren 91532abbc2 Bug 1266131 part 1 - [css-grid] 'order' doesn't apply to grid-aligned abs.pos. descendants (anymore). r=dholbert 2016-04-25 18:43:04 +02:00
Mats Palmgren 50649ed4b4 Bug 1264067 - [css-grid] 'fr' min-sizing is now invalid. r=dholbert 2016-04-25 18:43:04 +02:00
Mats Palmgren b7b10f0fb7 Bug 1264607 - Treat track size <percentage> values as 'auto' when the grid container size is indefinite. r=dholbert 2016-04-16 18:16:24 +02:00
Mats Palmgren fee61ecb6c Bug 1260614 - Cleanup grid item iterator Reset() calls. r=dholbert 2016-04-01 02:08:15 +02:00
Mats Palmgren 62b5045e23 Bug 1233191 part 1 - Implement sanity checks on the flex/grid container child frame list. Remove the anon grid item sanity checks that the frame constructor now does instead. r=dholbert 2016-03-18 19:52:08 +01:00
Mats Palmgren c71ca081ec Bug 1256040 - Bustage fix. r=me 2016-03-13 00:47:41 +01:00
Mats Palmgren 7f3197f8cc Bug 1256040 - Fix some nsGridContainerFrame.h/cpp compile errors in non-unified build. r=dholbert 2016-03-13 00:30:36 +01:00
Mats Palmgren 3fa78bc392 Bug 1144096 part 25 - [css-grid] Enable fragmentation to occur by reporting our actual reflow status. r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren 3ab9def464 Bug 1144096 part 24 - [css-grid] Move the child frame merging code at the start of ReflowOverflowContainerChildren into a new method: DrainExcessOverflowContainersList. Make both take a param so that we can override how the OC child lists are merged together (normally just an Append; MergeSortedFrameLists for Grid). r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren a808043f13 Bug 1144096 part 23 - [css-grid] A grid container fragment that is an overflow container can't be INCOMPLETE, only OVERFLOW_INCOMPLETE and it should always have zero BSize. r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren c46f94cf01 Bug 1144096 part 22 - [css-grid] Check NS_INLINE_IS_BREAK_BEFORE before checking other completion status. r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren 49b7f696e3 Bug 1144096 part 21 - [css-grid] Deal with dynamically inserted/appended/removed child frames. r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren 8a0ee1c101 Bug 1144096 part 20 - [css-grid] Sanity check our child lists before starting a Reflow (DEBUG only). r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren d44ff85401 Bug 1144096 part 19 - [css-grid] Sanity check the initial child lists we get from the frame constructor (DEBUG only). r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren 6e7fad07b8 Bug 1144096 part 18 - [css-grid] Fix a couple of bugs in how we handle child existing continuations when pushing/pulling children. r=dholbert
There were two problems in the existing code (which was exposed by tests
that dynamically insert/remove items).  First, the situation when
we have some pushed items two or more fragments away and then pull up
those.  This creates a "hole" in the child next-in-flow chain like so:
grid-container-frag-0
  child1-frag-0
  ...
grid-container-frag-1
  ...
grid-container-frag-2
  child1-frag-1

After we reflow grid-container-frag-0 and it's still incomplete we will
reflow its NIF, grid-container-frag-1, but it will "stall" since it
doesn't have a continuation for child1.  We need to make sure to
always pull up a fragment for that child.  That's what the first hunk
is about in the patch.

Second problem is the opposite problem of pushing a child into a NIF
container that already has an OC child continuation, like so:
grid-container-frag-0
  OverflowList = { child1-frag-0 }
grid-container-frag-1
  OverflowContinuationsList = { child1-frag-1 }

When we reflow grid-container-frag-1 we'll pull in child1-frag-0
like so:
grid-container-frag-0
 ...
grid-container-frag-1
  PrincipalList = { child1-frag-0 }
  OverflowContinuationsList = { child1-frag-1 }

This is bad since we'll consume BSize twice here.  The fix is
to move it our ExcessOverflowContinuationsList instead, like so:
grid-container-frag-0
 ...
grid-container-frag-1
  PrincipalList = { child1-frag-0 }
  ExcessOverflowContinuationsList = { child1-frag-1 }

That's what the second hunk in this patch does.
2016-03-11 17:39:27 +01:00
Mats Palmgren 703a970a1e Bug 1144096 part 17 - [css-grid] Add helper methods that add a sorted list of child frames to the Overflow and ExcessOverflowContainers child lists. r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren f68bdee058 Bug 1144096 part 16 - [css-grid] Implement fragmentation. r=dholbert 2016-03-11 17:39:27 +01:00
Mats Palmgren 29fbc46336 Bug 1144096 part 15 - [css-grid] Compute our pre-reflow logical skip sides and cache the result of ComputedLogicalBorderPadding() with that applied. r=dholbert
Our "pre-reflow logical skip sides" assumes each fragment will be
the last and have a block-end border.  We then skip the block-end
side at the end of Reflow if we're INCOMPLETE.  This simplifies
the logic that checks how many rows fits in this fragment.
2016-03-11 17:39:26 +01:00
Mats Palmgren bbd8687f0d Bug 1144096 part 14 - [css-grid] Make ReflowInFlowChild() deal with a constrained available block-size. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 1dbca39b11 Bug 1144096 part 13 - [css-grid] Refactor ReflowChildren() by separating out the code that reflows normal flow children (grid items and placeholders) into a new method ReflowInFlowChild(). r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 7b283c23f7 Bug 1144096 part 12 - [css-grid] Collect and merge child frames we need for reflow. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 89b3d6e845 Bug 1144096 part 11 - [css-grid] Add a GetNearestFragmentainer() method that collects some data from the nearest enclosing fragmentainer needed for fragmentation. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren db2d3d747c Bug 1144096 part 10 - [css-grid] Add a few helper methods to do a break before a row, and resize a row. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 7967ec17ab Bug 1144096 part 9 - [css-grid] Create a SharedGridData object owned by the first-in-flow Grid container to share state between its continuations. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 12979e91f6 Bug 1144096 part 8 - [css-grid] Add a new state flag, eBreakBefore, to record where breaks occur between tracks. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 9ea79df69f Bug 1144096 part 6 - [css-grid] Add support for creating Grid container continuations and deal with overflow containers. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 485174bd17 Bug 1144096 part 5 - [css-grid] Create a couple of Grid container frame bits. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 788aa99a4a Bug 1144096 part 4 - [css-grid] Move more local nsGridContainerFrame classes into .cpp file. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 1235d41a20 Bug 1144096 part 3 - [css-grid] Remove CellMap::ClearOccupied() since it's not needed anymore. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 44db3be14e Bug 1144096 part 2 - [css-grid] Make GridItemInfo::mFrame available also in non-DEBUG builds since we'll need it to support fragmentation. r=dholbert 2016-03-11 17:39:26 +01:00
Mats Palmgren 5d62d81f90 Bug 1144096 part 1 - [css-grid] Refactor nsGridContainerFrame state and methods. r=dholbert 2016-03-11 17:39:25 +01:00
Mats Palmgren ed62d7ab53 Bug 1251999 - [css-grid] Update <fixed-size> parsing to the latest spec. r=dholbert 2016-03-02 23:39:34 +01:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Ting-Yu Lin 1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Xidorn Quan 072dccd81f Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron
--HG--
extra : source : f95f143e0e521ad2f8726097a484de402c834620
2016-01-28 14:23:59 +11:00
Mats Palmgren 4256cf9ea7 Bug 1240795 - [css-grid] Refactor GetComputedTemplateColumns/Rows to return a self-contained value. r=dholbert 2016-01-27 17:02:13 +01:00
Mats Palmgren 54139b9f0f Bug 1237754 part 1 - [css-grid][css-align] Make 'align/justify-content:normal' behave as 'stretch' for Grid containers. r=dholbert
Change due to CSSWG decision:
https://lists.w3.org/Archives/Public/www-style/2016Jan/0031.html

Later clarified that the decision also applies to justify-content here:
https://lists.w3.org/Archives/Public/www-style/2016Jan/0130.html
2016-01-17 19:44:05 +01:00
Carsten "Tomcat" Book 4a40c9ed19 Backed out changeset d935c88d79d6 (bug 1237754) for OS X refrest failures 2016-01-18 08:54:13 +01:00