Commit Graph

128 Commits

Author SHA1 Message Date
Ehsan Akhgari
5682d40581 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
6e136586b6 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
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Boris Zbarsky
2e3a0eefe3 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
d6105b78f4 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
a3c1ab17a1 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
5de63bd68d Bug 705877 part 5. Make style reresolution actually use ancestor filters. r=dbaron 2012-03-12 22:54:15 -05:00
Phil Ringnalda
b1d1a41987 Back out 83a33626d965:6e9330f5a9bd (bug 732667 and bug 705877) for Windows build bustage 2012-03-12 22:12:41 -07:00
Boris Zbarsky
8469637d0c Bug 705877 part 5. Make style reresolution actually use ancestor filters. r=dbaron 2012-03-12 22:54:15 -05:00
Matt Woodrow
6905e450dd Bug 721082 - Constify nsIFrame::GetParentStyleContextFrame. r=roc 2012-02-15 22:28:21 +13:00
Robert O'Callahan
4146c611c0 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
78c681b88a 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
baa7ef5264 Bug 714839 - Make nsCSSFrameConstructor inherit nsFrameManager. r=bz.
--HG--
extra : rebase_source : 23c36617c5088884b7e1ecea48e6c09aa8757690
2012-02-02 10:06:46 +00:00
Ehsan Akhgari
9ad3976ebf 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
4a23b35179 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
Boris Zbarsky
9c3c3f2062 Bug 670467. Correctly reresolve style on non-first continuations and non-first parts of {ib} splits even when we're restyling both an ancestor of the element and the element itself. r=dbaron 2011-08-11 23:52:21 -04:00
arno renevier
5388ac92cf Bug 669299 - Remove unneeded nsPrintfCString.h includes. r=bsmedberg 2011-07-21 04:37:31 +02:00
Alexander Surkov
047029f65e Bug 671504 - get rid nsIPresShell::gAccessibilityIsActive, r=roc 2011-07-19 17:30:19 +09:00
Ehsan Akhgari
c4436101c8 Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Craig Topper
cfe91e4f31 Bug 654369 - Part 11: Remove OOM checks from layout/base r=bz
--HG--
extra : rebase_source : a725d78f3e128d6d4ca1eb48eec1cfc78f7762bf
2011-04-28 22:02:40 -07:00
Boris Zbarsky
b9d0413149 Bug 631529. Pass a TreeMatchContext into ReResolveStyleContext so that we can share the nth-index cache across the entire reresolution. r=dbaron 2011-05-24 20:19:09 -04:00
Ehsan Akhgari
e4c89e2e5d Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc 2011-04-29 19:02:33 -04:00
L. David Baron
f31f11de17 Should check link-related bits before reusing style context for root element. (Bug 652268) r=bzbarsky 2011-04-22 18:36:24 -07:00
timeless@mozdev.org
c8cc4b3ae6 Bug 587484 - warning: suggest parentheses around assignment used as truth value in while (... = GetNextContinuation())
r+a=dbaron
2011-02-16 14:14:14 +01:00
Alexander Surkov
f1d1126c15 Bug 628922 - layout should use cached nsIAccessibilityService, r=davidb, sr=roc, a=roc 2011-01-28 12:38:14 +08:00
Ehsan Akhgari
75e267cec2 Bug 581536 - Part 2: Reconstruct the document element frames when the dir attribute is set on the document; r=bzbarsky a=blocking-betaN+
--HG--
rename : layout/reftests/forms/textarea-rtl.html => layout/reftests/forms/textarea-in-dynamic-rtl-doc.html
extra : rebase_source : 444e9dfa75be1e880679c405afd90cfc4031131c
2010-12-15 12:26:54 -08:00
timeless@mozdev.org
ecfb24b349 Bug 615841 ourA11yNotification is only used in nsFrameManager::ReResolveStyleContext ifdef ACCESSIBILITY
r+a=bz

--HG--
extra : rebase_source : 9fe91fdff530e26416f2c212977fd2de4292fa2e
2010-12-04 11:07:53 +01:00
Alexander Surkov
c85084833e Bug 606125 - develop a way to handle visibility style, r=marcoz, davidb, sr=bz, a=blocking
--HG--
rename : accessible/tests/mochitest/treeupdate/test_tableinsubtree.html => accessible/tests/mochitest/treeupdate/test_ariadialog.html
2010-11-13 12:49:26 -05:00
Alexander Surkov
b049d3e67a Bug 570275 - rework accessible tree update code, r=marcoz, davidb, bz, a=blocking 2010-10-21 13:16:10 +09:00
Robert O'Callahan
c7acef03ff Bug 579323. Part 1.8: Rename InvalidateOverflowRect to InvalidateFrameSubtree. r=tnikkel
--HG--
rename : layout/generic/nsFrameFrame.cpp => layout/generic/nsSubDocumentFrame.cpp
extra : rebase_source : f7bd38670a03e8a7f3f8c40838af114be79b06f1
2010-08-31 12:49:12 +12:00
Mats Palmgren
a9ff1e450d Bug 576649. r=bzbarsky a=blocking2.0 2010-08-10 19:04:43 -03:00
Boris Zbarsky
7f14719c4d Bug 573241. When reparenting a style context, don't include any transition rules the old context might have had in the new one, since that can confuse transitions. r=dbaron 2010-06-23 00:46:27 -04:00
Boris Zbarsky
2e0c510982 Bug 569006. Skip probing for ::before/::after during reresolve if we're not redoing matching on kids, since those can't appear/disappear without either a reframe or a change in what selectors we match. r=dbaron 2010-06-18 12:23:05 -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
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
f8d9da8e92 Bug 479655 part 5. Pass the relevant restyle tracker through to style reresolution. r=dbaron 2010-06-18 12:23:05 -04:00
Boris Zbarsky
c9c80444ca Fix the comment to not talk about irrelevant things. 2010-06-09 00:03:10 -04:00
Boris Zbarsky
cf5cde8e24 Bug 570866. De-bogify the assertion. 2010-06-08 23:36:17 -04:00
Boris Zbarsky
43a16212af Add assertions that would catch bug 558943 earlier. r=dbaron 2010-06-08 15:58:26 -04:00
Boris Zbarsky
f52ee1468f Bug 565815. Use Element in the transition manager instead of nsIContent. r=dbaron 2010-05-14 13:04:51 -04:00
Boris Zbarsky
7ef058e29f Bug 565809. Move checking for style attribute changes into the cascade level. r=dbaron 2010-05-14 13:04:51 -04:00
Michael Kohler
9397418412 Bug 506041 Part 2: Correct misspellings in source code
r=timeless
2010-05-13 14:19:50 +02:00
Boris Zbarsky
ccb1be60c3 Bug 562688 part 10. Eliminate eELEMENT usage in layout/base. r=dbaron 2010-04-30 09:12:06 -04:00