Commit Graph

67 Commits

Author SHA1 Message Date
Cameron McCormack
f449c11e35 Bug 1072724 - Support showing more information about style structs in restyle logs. r=dbaron
The MOZ_DEBUG_RESTYLE_STRUCTS environment variable can be set to a comma-
separated list of style struct names.  When restyle logging is enabled,
this will cause the style context tree -- showing cached style struct
pointers for those structs specified -- to be logged before each
individual restyle is processed.  It will also show the struct pointer
values involved when swapping structs between style contexts.

For example, set MOZ_DEBUG_RESTYLE_STRUCTS=Font,UserInterface to show
the cached nsStyleFont and nsStyleUserInterface pointers on the style
contexts involved in the restyle process.
2014-10-01 09:13:57 +10:00
Cameron McCormack
40fb431145 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
14f9d99fc1 Back out c0c410aed86f (bug 979133) for -wError bustage
CLOSED TREE
2014-09-24 21:06:22 -07:00
Cameron McCormack
3483fb3f51 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
a981d85cb7 Bug 931668 - Part 22: Clear cached structs on descendants of an old style context that had structs swapped, if it is staying around. r=dbaron
--HG--
extra : rebase_source : aa23c06a20214c72d971ab059ef4833846c769fb
2014-09-05 13:48:47 +10:00
Cameron McCormack
5d11046a17 Bug 931668 - Part 18: Add a function to swap style structs between style contexts. r=dbaron
--HG--
extra : rebase_source : 4d32ed1f140db975b2fffe76ac6bd793287c916c
2014-09-05 13:48:46 +10:00
Cameron McCormack
114738e680 Bug 931668 - Part 14: Add functions to move style contexts to a new parent. r=dbaron
--HG--
extra : rebase_source : 90affb5987ab33e948366840dd3cc5a6d7ea1fd9
2014-09-05 13:48:45 +10:00
Cameron McCormack
143ae5d159 Bug 931668 - Part 13 (no part 12): Add expensive (commented out) debug checks that destroyed style structs aren't still used in the style context tree. r=dbaron
--HG--
extra : rebase_source : 84217c186a6cced3ea5bac22590ecd4ddb0d7a5d
2014-09-05 13:48:45 +10:00
Cameron McCormack
170827e59e Bug 931668 - Part 9 (no part 8): Make nsStyleContext::CalcStyleDifference compare all structs and return a bitfield of which changed. r=dbaron
--HG--
extra : rebase_source : 817e73531548183645c94ece67ad6a87c5de36c6
2014-09-05 13:48:44 +10:00
Cameron McCormack
8580adc76c Bug 931668 - Part 7: Add helper functions looking at cached struct pointer values on style contexts. r=dbaron
Two functions are added:

  * HasSameCachedStyleData, which compares a style struct pointer in two
    style contexts, and
  * HasCachedInheritedStyleData, which checks to see if the bit in mBits
    is set.

--HG--
extra : rebase_source : 92f9a42b15fc5537044b033eb960e564196850de
2014-09-05 13:48:44 +10:00
Cameron McCormack
53d551d2d9 Bug 931668 - Part 6: Add helper function to check if a style context has any children with the NS_STYLE_USES_GRANDANCESTOR_STYLE bit. r=dbaron
--HG--
extra : rebase_source : d0d5ea22e06509b3638d860f85a21506da7382fa
2014-09-05 13:48:44 +10:00
Cameron McCormack
31db624905 Bug 931668 - Part 5 (no part 4): Record whether a style context is shared. r=dbaron
--HG--
extra : rebase_source : f000e310e7f429cc7656a9f375312ddf8e162c7a
2014-09-05 13:48:44 +10:00
Cameron McCormack
98f625db89 Bug 931668 - Part 3: Add a style context bit to represent whether it depends on style data from its grandparent or higher ancestor. r=dbaron
--HG--
extra : rebase_source : 64deabb466cfaaeae220a00024cd05d8e87832bc
2014-09-05 13:48:44 +10:00
Daniel Holbert
ea5c674bf4 Bug 1029180: Give nsStyleContext a private destructor & MOZ_FINAL, to make it less likely to be freed by anything other than refcounting. r=heycam 2014-06-24 11:00:57 -07:00
Brian Birtles
7621375179 Bug 1010067 part 1 - Rename nsStyleAnimation::Value to mozilla::StyleAnimationValue; r=dbaron
This patch also moves the static methods defined on nsStyleAnimation so that
they are part of StyleAnimationValue class.

Renaming nsStyleAnimation.h to StyleAnimationValue.h is performed in a separate
patch to simplify the diff (since some tools may not handle file renames
elegantly).
2014-06-24 15:29:54 +09:00
Cameron McCormack
8d9032c828 Bug 1026903 - Make nsStyleContext members private. r=dbaron 2014-06-19 13:19:39 +10:00
Cameron McCormack
eca9987686 Bug 1026345 - Remove the now unused nsStyleContext allocation functions. r=dbaron 2014-06-19 13:19:11 +10:00
Susanna Bowen
556e2a7f1a Bug 1025308 - Rename the variables associated with skipping style fixups for children element's based on parent display value. r=mats 2014-06-16 09:55:00 -04:00
Mats Palmgren
68128d6d60 Bug 1000376 - part 3, s/FlexItemStyleFixup/FlexOrGridItemStyleFixup/ and corresponding comment changes. r=dholbert 2014-05-03 13:42:33 +00:00
Kyle Huey
510a49016d Bug 967364: Rename already_AddRefed::get to take. r=bsmedberg 2014-03-15 12:00:15 -07:00
L. David Baron
653e952e94 Bug 91419 patch 9: Fix comments and debugging output referring to "special" frames. r=mats 2014-02-06 17:45:33 -08:00
Cameron McCormack
5ab78a1a10 Bug 897763 - Take into account nsChangeHint_{NeedReflow,ClearAncestorIntrinsics} never being inherited for difference calculations on certain style structs. r=dbaron 2014-01-03 13:39:54 +11:00
Cameron McCormack
52ae26eb58 Bug 773296 - Part 3: Allow more than 27 style structs. r=dbaron
This bumps up nsStyleContext::mBits to a uint64_t so that it can fit
another style struct.  If we're going to need to keep at least 27 style
structs, it might be better to split mBits up into two uint32_ts: one
for the flags and one for the style struct bits.
2013-12-12 13:09:40 +11:00
Cameron McCormack
9cda9d27bf Bug 856879 - Remove constructor arguments argument from style struct macros. r=dbaron 2013-04-02 12:45:48 +11:00
David Zbarsky
2c3499b66c [Bug 847110] Fix up includes in layout/style r=dbaron 2013-03-02 19:31:48 -05:00
Daniel Holbert
5cd48e0295 Bug 812822 part 1: Add flag 'eSkipFlexItemStyleFixup' to let our nsStyleContext creation functions skip the flex-item-specific chunk of ApplyStyleFixups(). r=bz 2013-02-20 23:34:58 -08:00
L. David Baron
1162fa289b Bug 781360 patch 4: Remove the Get from nsStyleContext::GetStyleData and nsIFrame::GetStyleDataExternal, which never return null. r=dholbert 2013-02-16 13:51:03 -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
L. David Baron
e1162bb557 Bug 781360 patch 2: Rename nsRuleNode::GetPresContext to PresContext, since it can never return null. r=dholbert 2013-02-16 13:04:54 -08:00
L. David Baron
f756f736e2 Bug 781360 patch 1: Rename nsStyleContext::GetRuleNode to RuleNode, 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".

nsStyleContext's rule node is never null because we require a rule node
in order to construct a style context.
2013-02-16 13:04:53 -08:00
Isaac Aggrey
997db4d142 Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
L. David Baron
27ada1f07f Remove aPresContext parameter to nsStyleContext constructor and document parameters to constructor. (Bug 791416) r=bzbarsky 2012-09-18 11:37:13 -07:00
David Zbarsky
c41a42b108 Fix typo in comment, no bug, r=me 2012-09-18 14:01:03 -04:00
L. David Baron
a272065d84 Make nsStyleContext::CalcStyleDifference force comparison based on the parent's hint instead of the style struct ForceCompare methods. (Bug 779968, patch 6, the main patch) r=bzbarsky
This propagates the non-inherited (in the nsChangeHint sense, not the
CSS inheritance sense) parts of the parent's change hint through
ReResolveStyleContext so that we can use them in
nsStyleContext::CalcDifference.  In the cases where we don't know the
parent's hint, we assume the worst, that all the non-inherited hints
were present in the parent's style change.

This should be a significant performance improvement handling simple
style changes (such as a style attribute change setting a non-inherited
property) on elements with large numbers of descendants that have data
in ForceCompare structs that can't be stored in the rule tree (for
example, margins or widths in em or rem units).
2012-09-07 10:13:36 -07: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
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01: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
Masayuki Nakano
cc0623b6e3 Bug 647421 -moz-text-decoration-color and -moz-text-decoration-style should be reset by text-decoration r=dbaron, sr=bzbarsky 2011-04-23 14:16:41 +09:00
L. David Baron
a16e79db9e Make nsCachedStyleData store arrays of nsStyleStruct*, and use style struct IDs for faster access to those arrays. (Bug 639231, patch 3) r=bzbarsky 2011-03-17 20:14:32 -07:00
Boris Zbarsky
3693ed3012 Bug 631682. Make sure to start background image loads for the root element when we compute its style and decide to construct a frame. r+a=dbaron 2011-02-04 22:43:13 -05:00
L. David Baron
f66de32fe0 Add nsStyleContext::Alloc for allocations scoped to the lifetime of the style context. (Bug 363249) r=bzbarsky 2010-07-02 21:18:55 -07:00
Boris Zbarsky
6e35d9ce4f Bug 558943. Pass the right value for aIsLink from ReparentStyleContext. r=dbaron 2010-06-08 15:58:26 -04:00
Zack Weinberg
8a88b3f08f Eliminate NS_HIDDEN and NS_HIDDEN_ from layout/style/. Search-and-replace plus formatting fixes. rs=bzbarsky, no bug. 2010-04-06 14:52:17 -07:00
L. David Baron
1e8873bdf4 Make style contexts know if they are the if-visited style. (Bug 557287) r=bzbarsky 2010-04-06 12:42:41 -07:00
L. David Baron
7716822c2c Make nsStyleContext::FindChildWithRules deal with the visited style context. (Bug 147777) r=bzbarsky 2010-04-02 18:58:26 -07:00
L. David Baron
f64f440371 Use the appropriate color based on visitedness for the color or fallback color parts of 'fill' and 'stroke'. (Bug 147777) r=jwatt 2010-04-02 18:58:26 -07:00
L. David Baron
cb0d8954c9 Prerequisite comments for using the appropriate color for border colors. (Bug 147777) r=zweinberg 2010-04-02 18:58:26 -07:00
L. David Baron
961c31082c Add function to nsStyleUtil for choosing the appropriate color from style data based on link visitedness. (Bug 147777) r=bzbarsky 2010-04-02 18:58:25 -07:00