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

359 Коммитов

Автор SHA1 Сообщение Дата
Isaac Aggrey 481e7dfb0b Bug 791906: Replace NSPR integer limit constants with stdint ones; r=ehsan 2012-09-28 01:57:33 -05:00
L. David Baron 7204dd91a1 Remove aPresContext parameter to nsStyleContext constructor and document parameters to constructor. (Bug 791416) r=bzbarsky 2012-09-18 11:37:13 -07:00
L. David Baron f91cf8d1d2 Add more profile labels for the separate parts of restyle processing. (Bug 790379) rs=cjones 2012-09-14 14:12:34 -07:00
L. David Baron 81693a03dd Remove ForceCompare methods from style structs. (Bug 779968, patch 7) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron 9ae6c3259d 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
L. David Baron 5b62990545 Abstract nsChangeHint_NonInherited_Hints into a function so that it accurately reports the reflow cases to all callers. (Bug 779968, patch 4) r=bzbarsky
This is in preparation for adding an additional caller.

nsChangeHint_NonInherited_Hints will be reintroduced in patch 6, but as
the maximum set of such hints rather than the minimal set, and with the
less confusing name nsChangeHint_Hints_NotHandledForDescendants.
2012-09-07 10:13:36 -07:00
L. David Baron c596be2ae1 Remove maxHint from nsStyleContext::CalcStyleDifference. (Bug 779968, patch 3) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron 4846e76d8e Use nsStyleStruct MaxDifference methods instead of maxHint for hint handling in nsStyleContext::CalcStyleDifference. (Bug 779968, patch 2) r=bzbarsky 2012-09-07 10:13:36 -07: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
Robert O'Callahan d2d218e577 Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
--HG--
extra : rebase_source : ed990c17d2501ea5f4d09dea56baeada41cd3f35
2012-08-10 23:16:49 +12:00
Cameron McCormack 209745005d Bug 655877 - Part 21: Avoid assertions when nsStyleContext::GetVisitedDependentColor is called for an SVG paint property. r=dbaron 2012-08-05 11:01:19 +10:00
Aryeh Gregor d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Nathan Froyd d2af2caa01 Bug 674922 - report on most common objects allocated in a PresShell's arena; r=roc,njn 2012-06-06 13:35:40 -04:00
Ehsan Akhgari bdd1cdb13d Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Zack Weinberg f4fb4a1991 Bug 729142 - Convert layout/style to MOZ_STATIC_ASSERT. r=dbaron 2012-02-23 08:19:00 -08:00
Mats Palmgren 0e9e24f0c7 Backout Part 4 of bug 524925 (73eaf1199ff0). r=roc 2012-02-07 12:31:37 +01:00
Mats Palmgren c372ed8042 Bug 524925 - Make outline style changes update the overflow and repaint instead of reflow. part=4/6 r=roc 2012-01-18 21:04:51 +01:00
Benjamin Stover dc9cd57308 Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Boris Zbarsky 50e24a68bc Bug 608756. Cache display structs in the ruletree even for floated and positioned elements. r=dbaron
The basic idea is that mOriginalDisplay and mOriginalFloats are kept synchronized with mDisplay and mFloats unless the latter are changed due to position:absolute/fixed (for both) or float:left/right (for display).  When initializing an nsStyleDisplay from a start struct, we restore the values from mOriginalDisplay/Floats to get correct behavior.
2011-10-29 03:04:20 -04: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
Mounir Lamouri 975d80463f Bug 633209 - Add ::-moz-progress-bar to access the anonymous div inside the progress element. r=dbaron
--HG--
rename : layout/reftests/forms/progress/margin-padding-ref.html => layout/reftests/forms/progress/margin-padding-rtl-ref.html
rename : layout/reftests/forms/progress/margin-padding.html => layout/reftests/forms/progress/margin-padding-rtl.html
2011-05-06 11:52:05 +02:00
Shawn Wilsher d616bf2fcb Back out bug 514437, bug 567872, bug 568825, bug 633209, bug 633913, bug 634086, bug 634088, bug 634549, bug 634551, bug 638176, bug 641517, bug 641905, bug 641942, bug 642127, and bug 642667 to undo the performance regression tracked by bug 655860. 2011-05-09 15:48:39 -07:00
Mounir Lamouri 8fd2b2f9bb Bug 633209 - Add ::-moz-progress-bar to access the anonymous div inside the progress element. r=dbaron
--HG--
rename : layout/reftests/forms/progress/margin-padding-ref.html => layout/reftests/forms/progress/margin-padding-rtl-ref.html
rename : layout/reftests/forms/progress/margin-padding.html => layout/reftests/forms/progress/margin-padding-rtl.html
2011-05-06 11:52:05 +02:00
Masayuki Nakano 1adf21f3e7 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
Masayuki Nakano 4ac1042cce Bug 59109 Part 1: Adding -moz-text-decoration-color and -moz-text-decoration-style r=dbaron, sr=bzbarsky 2011-03-31 21:26:35 +09:00
L. David Baron 8ff298d446 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
Markus Stange fae48f3bbd Bug 506826 - Parsing for background-image: -moz-element(#elementID). r=dbaron 2010-08-13 15:33:37 +02:00
Matt Woodrow 104ade3438 Bug 505115. Use layers to render active 2D transforms. r=roc,dbaron 2010-08-02 15:07:04 +12:00
Robert O'Callahan 2e3d02e038 Bug 564991. Part 13: Optimize invalidation to avoid repainting ThebesLayer contents sometimes. r=mats,sr=dbaron 2010-07-16 09:07:53 +12:00
L. David Baron c5676916f0 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
Jesse Ruderman 9478c01a40 Remove stray line breaks from NS_ERROR messages, since they interfere with log processing. rs=jst
--HG--
extra : rebase_source : 87421691da969e0ebe5fbfbc44cd8f18617d1351
2010-06-17 13:28:38 -07:00
Timothy Nikkel dbc078a9ef Bug 559491. If a visited style context has no parent then add it to the list of roots. r=dbaron 2010-04-29 20:15:44 -05:00
L. David Baron ea2113c668 Avoid showing black when the if-visited style is transparent and the unvisited style is a color. (Bug 557584) r=bzbarsky 2010-04-06 15:32:52 -07:00
L. David Baron 5412d20e69 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 eb2548e97d Make nsStyleContext::FindChildWithRules deal with the visited style context. (Bug 147777) r=bzbarsky 2010-04-02 18:58:26 -07:00
L. David Baron b33a804541 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 4cf0bf0c58 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
L. David Baron 80348d8506 Add mechanism for separate style data for visited style. (Bug 147777) r=bzbarsky 2010-04-02 18:58:25 -07:00
Craig Topper fd9001c409 Bug 554253 - Convert nsCOMPtr<nsPresContext> to nsRefPtr<nsPresContext>. r=roc
--HG--
extra : rebase_source : d828daca07188864d055f3d1a72f5217632eb358
2010-03-25 14:17:11 +01:00
Boris Zbarsky 60af0c64d6 Bug 527977 part 3. Change the style context cached struct storage; inline GetStyle* and PeekStyle* now that they're pretty dead-simple. r=zwol, sr=dbaron 2010-03-02 18:27:21 -05:00
Robert Longson 28e410c8b6 Bug 523576 - Fix compilation with disable-svg. r=dbaron 2009-12-12 19:43:34 +00:00
Boris Zbarsky 5132d64872 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-11 02:37:40 -05:00
Boris Zbarsky 8202b90f61 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky 6eb3c28de7 Bug 525608 part 3. Change all style set consumers that ask for a pseudo style context to indicate what they're actually asking for (pseudo-element, anonymous box, or xul tree thing). r=dbaron 2009-12-10 14:36:05 -08:00
Boris Zbarsky 57f45031a1 Bug 528038. Make sure to propagate inherited changes properly for cases where the change hint doesn't apply to all descendants. r=dbaron 2009-11-18 08:25:02 -05:00
Boris Zbarsky 999ecb34d4 Bug 514773. Don't trigger rulenode gc unless we have rulenodes to gc. r=dbaron 2009-09-24 13:59:43 -04:00
L. David Baron c46fca41b6 Make style contexts know whether they have data from a pseudo-element. (Bug 505515, Bug 435441) r=bzbarsky 2009-08-10 15:52:29 -07:00
Boris Zbarsky 3a7c74d351 Bug 509156. Don't assert on GetUniqueStyleData calls if we're using our parent's struct before the call. r=dbaron 2009-08-10 10:54:21 -04:00