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

51 Коммитов

Автор SHA1 Сообщение Дата
L. David Baron 61bcb1749a Bug 1115812 patch 6 - Move ProcessRestyles from RestyleTracker to RestyleManager. r=heycam
This is needed for the following patch, so that it can access a member
variable of RestyleManager.
2015-01-13 21:03:12 -08:00
Cameron McCormack fdaf162ad8 Bug 1098270 - Null check curData in AddPendingRestyle to avoid crashing on style sheet updates in ShadowRoots outside of the composed document. r=dbaron 2014-11-27 09:47:52 +11:00
Cameron McCormack f5e6faa47e Bug 979133 - Add facility to log the restyle process. r=dbaron
Set the MOZ_DEBUG_RESTYLE environment variable and every restyle will have
detailed logging printed to stderr. By default, restyles for animations are
not logged; you can include them by also setting MOZ_DEBUG_RESTYLE_ANIMATIONS.

If you wish to limit restyle logging to a particular change, you can call
nsPresContext::StartRestyleLogging() and nsPresContext::StopRestyleLogging()
at appropriate points. (You might want to add a couple of helper methods
temporarily on nsIDocument and then expose them to your page with Web IDL
to make them easier to call.) You do not need to have set MOZ_DEBUG_RESTYLE
for this to work.
2014-09-25 15:45:36 +10:00
Phil Ringnalda 340fd10e38 Back out c0c410aed86f (bug 979133) for -wError bustage
CLOSED TREE
2014-09-24 21:06:22 -07:00
Cameron McCormack 2a28d6d5eb Bug 979133 - Add facility to log the restyle process. r=dbaron
Set the MOZ_DEBUG_RESTYLE environment variable and every restyle will have
detailed logging printed to stderr.  By default, restyles for animations are
not logged; you can include them by also setting MOZ_DEBUG_RESTYLE_ANIMATIONS.

If you wish to limit restyle logging to a particular change, you can call
nsPresContext::StartRestyleLogging() and nsPresContext::StopRestyleLogging()
at appropriate points.  (You might want to add a couple of helper methods
temporarily on nsIDocument and then expose them to your page with Web IDL
to make them easier to call.)  You do not need to have set MOZ_DEBUG_RESTYLE
for this to work.
2014-09-25 13:13:14 +10:00
Cameron McCormack 377ef30058 Bug 1062732 - Avoid tracking descendants for restyling if we are force restyling the entire subtree. r=dbaron 2014-09-19 11:12:31 +10:00
Cameron McCormack b973a953c7 Bug 1063384 - Make RestyleTracker::DoProcessRestyle's restylesToProcess not have an mDescendants array in each element. r=dbaron 2014-09-19 11:12:30 +10:00
Cameron McCormack 90dc98cfbe 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 d32c1d2bfc 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 ba762a2f5c 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 60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
L. David Baron f7374aad6e 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 a39da5881c 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 d2fe2e8c79 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 fea45deb80 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 a13b5c1919 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 a6feda0f22 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 ae2d46fb74 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 c0402875df 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 abc7729b7a Backed out changeset 7be71c699b85 (bug 984226) for crashtest asserts. 2014-04-08 15:31:45 -04:00
Kearwood (Kip) Gilbert 74b70bdbd0 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 78c80034d7 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 55beb7d2db Bug 944291. Part 1: Add SplayTree::find. r=waldo 2013-12-13 16:12:07 +13:00
Corey Ford fecfb82b09 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 03e7828db2 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 2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
L. David Baron a7c8d44db9 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 3dab5e1ef8 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 957042f394 Bug 859018 - Remove the MSVC exemption for FAIL_ON_WARNINGS in layout. r=dbaron 2013-04-28 19:02:35 +09:00
Matt Woodrow b44fe181ee Bug 850672 r=roc 2013-03-21 15:33:00 +13:00
L. David Baron e032a2344d 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 b6d1579a17 Bug 840480 r=roc 2013-02-20 13:13:01 +13:00
Matt Woodrow ef1378f2db Bug 832611 - Use NotifyDestroyingFrame to remove frames from the OverflowChangedTracker. r=roc 2013-01-26 14:34:58 +13:00
Matt Woodrow 1ba66c5c11 Bug 822906 - Use SplayTree to remove deleted frames from RestyleTracker. r=roc 2013-01-16 12:12:40 +13:00
Matt Woodrow 67ac0979d2 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 cebb3c32c4 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 e368dc9c85 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 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg eaa4878487 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 757b7ac1bc 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 92064e6d3f 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 d2b70213ac 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 8662f7a74d 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 77614c49e0 Another missed review comment for bug 479655 2010-06-18 15:35:52 -04:00
Boris Zbarsky 25efd0d53e Addressing some bug 479655 review comments I missed. 2010-06-18 15:18:02 -04:00
Boris Zbarsky fa30dc0437 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 43f065f6ae Bug 494117 part 1. Rename eRestyle_Self to eRestyle_Subtree. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky 01c5641b98 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 9fd308fab4 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 ecd2c79550 Bug 479655 part 4. Move handling of eRestyle_LaterSiblings into RestyleTracker. r=dbaron 2010-06-18 12:23:05 -04:00