Commit Graph

21 Commits

Author SHA1 Message Date
Seth Fowler
72fb0505de Bug 1128356 - Add template functions for common frame property destructors. r=dbaron 2015-02-04 15:22:27 -08:00
Mats Palmgren
57f71caceb Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Phil Ringnalda
650df8d81e Back out 5 changesets (bug 1028460, bug 1031444) for somehow breaking asmjscache/test/test_cachingBasic.html on Android 2.2
Backed out changeset 0b5918ec6521 (bug 1031444)
Backed out changeset 663ff18cd4a1 (bug 1028460)
Backed out changeset ae01b3919c8c (bug 1028460)
Backed out changeset 316c8dfeca9b (bug 1028460)
Backed out changeset e237b2c61ea2 (bug 1028460)
2014-06-28 22:01:28 -07:00
Mats Palmgren
3949ce77fb Bug 1028460 - part 3, Change the return type for Get*SkipSides(). r=roc 2014-06-28 10:13:13 +00:00
Kearwood (Kip) Gilbert
45a5d12315 Bug 920688 - Remove FIXME comment from StickyScrollContainer::ComputeStickyLimits. r=dbaron
- The condition described in the FIXME comment is already handled by
  GetNearestBlockContainer in nsFrame.cpp (helper for
  nsIFrame::GetContainingBlock).
2014-04-22 15:30:00 +02:00
Kearwood (Kip) Gilbert
a68e8a324c Bug 984226 - Add parameter to OverflowChangedTracker::AddFrame to distingush between frames that need nsIFrame::UpdateOverflow called and frames that only have a transform that has changed. r=dbaron
- OverflowChangedTracker::AddFrame now accepts an enumerated type parameter to
  indicate if the overflow areas of children have changed (CHILDREN_CHANGED),
  the overflow areas of the children have changed and the parent have changed
  (CHILDREN_AND_PARENT_CHANGED), or if only the transform has changed
  (TRANSFORM_CHANGED).
- OverflowChangedTracker::Flush no longer falls back to calling
  nsIFrame::UpdateOverflow when a frame lacks a PreTransformOverflowAreas
  property.
- Added an additional change hint, nsChangeHint_ChildrenOnlyTransform, which
  results in TRANSFORM_CHANGED being passed in to
  OverflowChangedTracker::AddFrame.
- In nsIFrame::FinishAndStoreOverflow, the passed in overflow is now stored as
  the InitialTransformProperty for elements that are IsTransformed().
- Partially corrected Bug 926155, by only calling
  OverflowChangedTracker::AddFrame on parents of the sticky element during
  StickyScrollContainer::UpdatePositions, using CHILDREN_CHANGED.
2014-03-13 17:21:25 -07:00
Ryan VanderMeulen
3312b5d3a8 Backed out changeset 7be71c699b85 (bug 984226) for crashtest asserts. 2014-04-08 15:31:45 -04:00
Kearwood (Kip) Gilbert
8ceb5e4552 Bug 984226 - Add parameter to OverflowChangedTracker::AddFrame to distingush between frames that need nsIFrame::UpdateOverflow called and frames that only have a transform that has changed. r=dbaron
- OverflowChangedTracker::AddFrame now accepts an enumerated type parameter to
  indicate if the overflow areas of children have changed (CHILDREN_CHANGED) or
  if the transform has changed (TRANSFORM_CHANGED).
- OverflowChangedTracker::Flush no longer falls back to calling
  nsIFrame::UpdateOverflow when a frame lacks a PreTransformOverflowAreas
  property.
- Added an additional change hint, nsChangeHint_ChildrenOnlyTransform, which
  results in TRANSFORM_CHANGED being passed in to
  OverflowChangedTracker::AddFrame.
- In nsIFrame::FinishAndStoreOverflow, the passed in overflow is now stored as
  the InitialTransformProperty for elements that are IsTransformed().
- Partially corrected Bug 926155, by only calling
  OverflowChangedTracker::AddFrame on parents of the sticky element during
  StickyScrollContainer::UpdatePositions, using CHILDREN_CHANGED.
2014-03-13 17:21:25 -07:00
Abel Lin
f25da58833 Bug 980247 - Use offsets from GetNormalPosition() when updating continuations of position:sticky elements instead of assuming that they're all currently offset by the same amount. r=dbaron, r=corey 2014-03-26 14:45:17 -04:00
L. David Baron
2e0070401d Bug 91419 patch 9: Fix comments and debugging output referring to "special" frames. r=mats 2014-02-06 17:45:33 -08:00
L. David Baron
767701956b Bug 91419 patch 5: Rename everything with SpecialSibling to IBSplitSibling. r=mats 2014-02-06 17:45:31 -08:00
Mats Palmgren
b10bfee513 Bug 949932 - Null-check the new StickyScrollContainer in case we don't have any scroll frame ancestors, e.g. in a position:fixed sub-tree. r=roc 2013-12-13 12:46:59 -05:00
Corey Ford
d67342b682 Bug 916302 - Part 2: In sticky positioning calculations, use the union of the element's margin boxes and the union of the containing-block element's content boxes. r=dholbert 2013-12-03 11:28:32 -08:00
Robert O'Callahan
003be5e875 Bug 931460. Part 1: When a <legend>'s frame is reparented to the <fieldset>, update StickyScrollContainers to match if necessary. r=mats 2013-11-23 22:48:26 +13:00
L. David Baron
6f4539fad6 Bug 828312 patch 9a: Make sticky positioning handle block-in-inline splits correctly. r=dholbert
This assumes that the specification for how position:sticky behaves for
block-in-inline splits matches the specification for position:relative,
in other words, matches
http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level .

It's also necessary for patch 9b since the new rule for handling of
style change hints is that a style change hint applies to all
continuations and all block-in-inline siblings ("special siblings").

The change in StickyScrollContainer::GetScrollRanges is really the fix
for bug 918994, but adjusted for the change here to use block-in-inline
siblings ("special siblings") in addition to continuations.
2013-09-25 12:28:08 -07:00
Corey Ford
2001483389 Bug 904197 - Use the union of continuations' rects in sticky positioning calculations. r=dholbert
Reftest inline-3.html fails because handling the sticky element's margin correctly will take more work; similarly, border/padding on containing-block continuations won't be handled quite right. Reftest column-contain-1a fails because some of the anonymous blocks inside an nsColumnSetFrame have 0 height.
2013-09-13 16:53:48 -07:00
Daniel Holbert
9f95f99f7b Bug 916115: In StickyScrollContainer::UpdatePositions, put do_QueryFrame result in a local var before comparing it for equality. r=corey 2013-09-13 10:04:23 -07:00
Corey Ford
ecb209513d Bug 897105 - Part 3: Keep sticky position layers fixed during async panning, within certain scroll ranges. r=roc 2013-09-11 21:24:32 -07:00
Corey Ford
4adc5814bd Bug 911786 - Part 1: Store computed relative position offsets. r=dholbert 2013-09-10 11:33:59 -07:00
Corey Ford
1bceaf53a9 Bug 914891 - Bail gracefully on sticky positioning with no scroll container. r=dholbert 2013-09-11 16:30:56 -07:00
Corey Ford
4b9e4cbc76 Bug 886646 - Part 6: Implement sticky positioning, calculated on reflow and scroll. r=dbaron, r=dholbert 2013-09-06 09:35:16 -04:00