Commit Graph

44 Commits

Author SHA1 Message Date
Cameron McCormack
01abd28246 Bug 931668 - Part 24: Avoid copying RestyleData::mDescendants when modifying an existing entry. r=dbaron
--HG--
extra : rebase_source : 0b9905bdff6f9ceec823b2091aadc39f0ca467bc
2014-09-05 13:48:48 +10:00
Cameron McCormack
d307aa77b6 Bug 931668 - Part 21: Fix issue where not all pending-restyle descendants are restyled. r=dbaron
--HG--
extra : rebase_source : 824fe576885ec4f5ab086499dfaa6e95456afd50
2014-09-05 13:48:47 +10:00
Cameron McCormack
b318a2c17e Bug 931668 - Part 10: Record pending restyles of restyle root descendants and ensure we restyle them if we didn't get to them. r=dbaron
--HG--
extra : rebase_source : b259e02c38362a12735158e30d6aa54556cf54ab
2014-09-05 13:48:45 +10:00
Ehsan Akhgari
95a75d8cc2 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
L. David Baron
873fa8d249 Bug 996796 patch 18 - Fix RestyleTracker to handle restyle hints exactly rather than pessimistically when restyling continuations with varying styles (e.g., spans inside ::first-line or ::first-letter). r=heycam
This will be necessary when we use the restyle tracker for the
animation-only style flush, because animation-only style flushes need to
update *only* the animation style data and no other style data.  Thus
using the RestyleTracker for animation-only style flushes requires that
we do this.
2014-08-03 13:11:55 -07:00
L. David Baron
0b7ed4e755 Back out bug 996796 patch 18 through patch 25 (changesets fbe97c2db729 through 9719c08c3144) to fix 50%-of-the-time Android 4.0 debug orange from single assertion ("Why did this not get handled while processing mRestyleRoots?", layout/base/RestyleTracker.cpp, line 87) in gfx/tests/crashtests/815489.html . 2014-08-03 01:22:07 -07:00
L. David Baron
fa21064cd2 Bug 996796 patch 18 - Fix RestyleTracker to handle restyle hints exactly rather than pessimistically when restyling continuations with varying styles (e.g., spans inside ::first-line or ::first-letter). r=heycam
This will be necessary when we use the restyle tracker for the
animation-only style flush, because animation-only style flushes need to
update *only* the animation style data and no other style data.  Thus
using the RestyleTracker for animation-only style flushes requires that
we do this.
2014-08-02 19:37:47 -07:00
L. David Baron
67f83f31cd Bug 996796 patch 6 - Adjust checks of restyle types to accomodate new types weaker than eRestyle_Self. r=heycam
FIXME: Adjust for eRestyle_Force if bug 931668 lands first.

Later patches will add such types that are like eRestyle_Self but that
only replace the style attribute, animation rule, or transition rule.
2014-08-02 19:37:43 -07:00
L. David Baron
c618b22345 Bug 996798 - Add a typedef to make it easier to change the size of nsWrapperCache/nsINode flags. r=bzbarsky 2014-06-18 17:07:26 -07:00
Mats Palmgren
ac5e91a762 Bug 508665 - part 1, Change the signature of SetParent/GetParent from nsIFrame* to nsContainerFrame*. r=roc 2014-05-24 22:20:39 +00:00
Kearwood (Kip) Gilbert
45adc7d4a4 Bug 1005405 - OverflowChangedTracker::Flush() no longer downgrades parent frames from CHILDREN_AND_PARENT_CHANGED to CHILDREN_CHANGED. r=dbaron
- When OverflowChangedTracker::Flush() coalesces multiple changes
  simultaneously, it was possible to downgrade parent frames from
  CHILDREN_AND_PARENT_CHANGED to CHILDREN_CHANGED, resulting in an incomplete
  update.
- This patch ensures that the strongest ChangeKind is retained when cascading
  up to parent frames.
2014-05-06 11:23:00 +02:00
Kearwood (Kip) Gilbert
93e818d617 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
27b28b1c13 Backed out changeset 7be71c699b85 (bug 984226) for crashtest asserts. 2014-04-08 15:31:45 -04:00
Kearwood (Kip) Gilbert
ebcffdc9e3 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
Robert O'Callahan
c8c51ea9af Bug 944291. Part 2: Mark parent frames whose child frames' overflow have changed as always needing UpdateOverflow called. r=matspal 2013-12-14 02:21:03 +13:00
Robert O'Callahan
519f4983f1 Bug 944291. Part 1: Add SplayTree::find. r=waldo 2013-12-13 16:12:07 +13:00
Corey Ford
b3400abc97 Bug 886646 - Part 6: Implement sticky positioning, calculated on reflow and scroll. r=dbaron, r=dholbert 2013-09-06 09:35:16 -04:00
Robert O'Callahan
33cdb42706 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ehsan Akhgari
5fa9157954 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
L. David Baron
a187fb3edb Bug 896138 patch 4: Move restyle management code from nsCSSFrameConstructor to RestyleManager. r=heycam
This moves restyling management out of nsCSSFrameConstructor (thus
reducing its size), and keeps the restyling code closer together.

This is the first of two big chunks of code moved in this patch series.
A later patch in this series will move related code from nsFrameManager
into the same destination file.
2013-07-20 12:14:25 -07:00
L. David Baron
247e5c9e81 Bug 896138 patch 1: Move RestyleTracker and OverflowChangedTracker out of nested namespace mozilla::css (which shouldn't exist) into namespace mozilla. r=heycam 2013-07-20 12:14:24 -07:00
Masatoshi Kimura
761bf787f0 Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron 2013-04-28 19:02:35 +09:00
Matt Woodrow
9b0427391f Bug 850672 r=roc 2013-03-21 15:33:00 +13:00
L. David Baron
0b500285e3 Bug 849263: Make OverflowChangedTracker actually sort by depth in the tree where it intended to. r=roc 2013-03-10 12:44:13 -07:00
Matt Woodrow
bfb6ac7eab Bug 840480 r=roc 2013-02-20 13:13:01 +13:00
Matt Woodrow
5c4f0b1321 Bug 832611 - Use NotifyDestroyingFrame to remove frames from the OverflowChangedTracker. r=roc 2013-01-26 14:34:58 +13:00
Matt Woodrow
a93c05ed7b Bug 822906 - Use SplayTree to remove deleted frames from RestyleTracker. r=roc 2013-01-16 12:12:40 +13:00
Matt Woodrow
f14a907820 Bug 815666 - Use OverflowUpdateTracker to avoid calling UpdateOverflow on the same frame multiple times. r=roc 2012-12-10 15:33:04 +13:00
Matt Woodrow
19e409b961 Bug 815666 - Add a helper class to coalesce frames that need their overflow updated. r=roc 2012-12-10 15:32:55 +13:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg
4f91700da9 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Boris Zbarsky
14524abb76 Bug 709256 part 1. Fast-path RestyleTracker::ProcessRestyles when there aren't any restyles to process. r=roc 2011-12-14 23:42:14 -05:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Craig Topper
a53310509d Bug 579830 - Change nsCOMPtr<Element> to nsRefPtr<Element>. Change one location that was QIing to Element. r=bz a2.0=benjamin
--HG--
extra : rebase_source : db2a1a863ed6c646ef8eb850eaf93b64b4552be7
2010-07-30 20:44:45 -07:00
Boris Zbarsky
d9be0d1283 Another missed review comment for bug 479655 2010-06-18 15:35:52 -04:00
Boris Zbarsky
6919a66abe Addressing some bug 479655 review comments I missed. 2010-06-18 15:18:02 -04:00
Boris Zbarsky
e81230c9bb Bug 494117 part 2. Don't force selector matching on the whole subtree rooted at an element when the element's style changes. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky
37c6532fe1 Bug 494117 part 1. Rename eRestyle_Self to eRestyle_Subtree. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky
7cd4ee91fa Bug 479655 part 7. Switch to the new setup for tracking and handling restyles. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky
117cc77c6f Bug 479655 part 6. Add a private AddPendingRestyle API that allows removing restyle hints, as well as adding them. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky
c459ccbab5 Bug 479655 part 4. Move handling of eRestyle_LaterSiblings into RestyleTracker. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky
37a217faf3 Bug 479655 part 3. Refactor restyle processing into a new RestyleTracker class. r=dbaron 2010-06-18 12:23:04 -04:00