Commit Graph

156 Commits

Author SHA1 Message Date
Peter Van der Beken
e86cd8818c Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
David Zbarsky
ec66c8d312 Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc 2012-10-15 01:42:40 -04:00
David Zbarsky
53345541db Backout 784bb7c5ea9c (Bug 799407) for bustage 2012-10-15 02:14:34 -04:00
David Zbarsky
16b60cf311 Bug 799407: Enable FAIL_ON_WARNINGS in more of layout/ r=roc 2012-10-15 01:42:40 -04:00
David Zbarsky
d70685476e [Bug 799407] Fix build warnings in layout r=roc 2012-10-10 01:00:05 -04:00
Cameron McCormack
8290da709f Bug 782888 - Do not propagate nsChangeHint_UpdateEffects to text nodes. r=bz 2012-10-05 12:47:52 +10:00
Matt Woodrow
de918ca279 Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
1d675c61d6 Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Ed Morley
5a3b322459 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
9a9168f55a Bug 539356 - Make the table code use rect invalidation to avoid over invalidation. r=roc 2012-08-29 17:48:45 +12:00
Matt Woodrow
49d4c24594 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
L. David Baron
8127acf9cb Add more profile labels for the separate parts of restyle processing. (Bug 790379) rs=cjones 2012-09-11 21:05:03 -07:00
L. David Baron
74b4279416 Rename nsChangeHint_ReflowFrame to nsChangeHint_AllReflowHints to make it clearer that it's the one that contains multiple bits. (Bug 789592, patch 2) r=bzbarsky 2012-09-07 15:57:06 -07:00
L. David Baron
4fbb3dda02 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
b3b996ffe4 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
Randell Jesup
29ac5c0b8c Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Ehsan Akhgari
8c296bbcd4 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
982100775b Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Ms2ger
331accfcb4 Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg 2012-08-09 09:09:40 +02:00
Aryeh Gregor
57c0ad57fb Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Jeff Muizelaar
9d0c428baf Bug 764188 - Expose a global frame tree generation number. r=dbaron
This generation number will be incremented every time that the frame
tree for a presshell changes. Callers need to deal with the case where
this value overflows. We use this to avoid a bunch of Android
screenshotting.
2012-07-04 11:42:29 -04:00
Ehsan Akhgari
6ef72aef93 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
David Zbarsky
cd3c58ee76 Bug 763350 - Clean up some includes in content/ and dom/ r=smaug 2012-07-01 16:45:59 -07:00
Matt Woodrow
1f0dbc7c74 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Jonathan Watt
9ac7bb2267 Bug 767388 - Kill NS_DEBUG. r=bz.
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Boris Zbarsky
34f805faee Bug 763424. Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>). r=dbaron 2012-06-11 18:21:35 -04:00
Ed Morley
7d13aab294 Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms 2012-06-11 10:08:32 +01:00
Matt Woodrow
5076b975a0 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Ehsan Akhgari
d54aaab73b 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
Boris Zbarsky
6543d621c5 Bug 464758. Don't try to check for :before/:after pseudos for frames that can't have them. r=dbaron 2012-05-29 23:45:17 -04:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Boris Zbarsky
15639de868 Bug 751012. When saving frame state, make sure to walk through placeholders so we save the state of out-of-flow descendants properly. Also make sure to walk the continuations and special siblings of the root frame that we're saving state for. r=roc 2012-05-09 21:27:47 -04:00
Matt Woodrow
a6d077a2c0 Bug 729955 - Invalidate destroyed out-of-flow frames before unregistering the placeholder frame. r=bz 2012-03-26 11:27:37 -07:00
Boris Zbarsky
12b2938d88 Bug 736389. Get rid of code that reresolved style on overflow containers multiple times and in the process violated some invariants other code depended on. r=mats 2012-03-16 13:13:14 -04:00
Boris Zbarsky
dbcab961d0 Bug 705877 part 5. Make style reresolution actually use ancestor filters. r=dbaron 2012-03-12 22:54:15 -05:00
Phil Ringnalda
47dd3c842e Back out 83a33626d965:6e9330f5a9bd (bug 732667 and bug 705877) for Windows build bustage 2012-03-12 22:12:41 -07:00
Boris Zbarsky
23a4ff3a52 Bug 705877 part 5. Make style reresolution actually use ancestor filters. r=dbaron 2012-03-12 22:54:15 -05:00
Matt Woodrow
914010d2c8 Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
Robert O'Callahan
e29efce9f5 Bug 724502. Ensure that UpdateTransformLayer and UpdateOpacityLayer change hints generate a new change list entry for every frame whose style asks for them. r=matspal 2012-02-08 11:52:59 +13:00
Mats Palmgren
9a96be0645 Bug 724432 - Skip UpdateOverflow if we did Reflow. Don't propagate UpdateOverflow in ReResolveStyleContext. r=roc 2012-02-07 12:31:47 +01:00
Jonathan Watt
15b82e8416 Bug 714839 - Make nsCSSFrameConstructor inherit nsFrameManager. r=bz.
--HG--
extra : rebase_source : 23c36617c5088884b7e1ecea48e6c09aa8757690
2012-02-02 10:06:46 +00:00
Ehsan Akhgari
064c1c618f Bug 691118 - Frames inserted into the frame manager should only be overflow containers, not true overflow containers; r=roc 2012-01-03 19:44:07 -05:00
David Zbarsky
71021df43b Bug 660959 - Update link state less lazily r=bz 2011-11-14 16:24:41 +13:00
Olli Pettay
a86b1a4d43 Bug 682420 - Rename nsINode::GetOwnerDoc to nsINode::OwnerDoc, part 1, r=jst
--HG--
extra : rebase_source : baf1a25cdea68d499a7673fdf96e27b5a12dc83c
2011-10-18 13:53:36 +03: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
Ehsan Akhgari
b273fc68d8 Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -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
Mats Palmgren
4a82c200c1 Bug 685154 - Cleanup nsIFrame::GetParentStyleContextFrame and related code. r=roc
Make nsIFrame::GetParentStyleContextFrame return the frame directly
instead of indirectly through an out parameter.  Remove the unused
nsPresContext parameter.
2011-09-12 09:08:07 -07:00
Mats Palmgren
6894179e71 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Mats Palmgren
f06792a6ef Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00