Commit Graph

592 Commits

Author SHA1 Message Date
L. David Baron
a572c4fbef Add assertions that the frame tree is safe to destroy (i.e., doesn't contain any first-in-flows or other things we should never destroy) when we call DeleteNextInFlowChild. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
L. David Baron
4b971b51fd Handle multiple continuations of the same float being out-of-order in the same float list. (Bug 595740) r=roc a2.0=blocking 2011-01-11 17:09:21 -08:00
L. David Baron
1f47b79c3a Move assertion about continuations of floats so that it is valid. (Bug 595740) r=roc a2.0=blocking
When we do multiple reflow passes inside a container with page or column
breaks, we might hit this assertion for legitimate reasons.  In
particular, if a reflow places the first-in-flow of a float in a later
continuation of its containing block than it was in before, or if a
reflow reflows a float that was split and then pushes the line
containing the float's placeholder, then during reflow we push the
continuations of the float back through the continuations of the
containing block, and in intermediate states of this process (such as
when this assertion fires), we have two continuations of the same float
within the same parent.
2011-01-11 17:09:21 -08:00
Boris Zbarsky
315d8d3845 Bug 614397. Always descend through all placeholders while doing any sort of selection display list. r=roc, a=roc 2010-12-07 08:54:50 -05:00
Dave Townsend
81e7ea6996 Backing out changeset 2719d97b6766 from bug 609227 due to unexpected reftest failures. a=backout 2010-12-02 10:57:26 -08:00
Boris Zbarsky
3cc13d8253 Bug 609227. Always place a line at y<=0 in the block; there's no point in pushing such a line to the next block. r=roc, a=blocker 2010-12-02 12:32:41 -05:00
Ehsan Akhgari
90e76bbb1f Bug 389321 - Part 3: Use a centralized algorithm for caret positioning; r=roc a=blocking-betaN+ 2010-08-31 14:54:44 -04:00
Alexander Surkov
c4be35e55b Bug 604587 - bullets of nested not ordered lists have one and the same character, r=davidb, sr=roc, a=roc 2010-10-16 00:34:24 +09:00
Alexander Surkov
de72c1148e Bug 557795 - wrong list bullet text of accessible for the first numbered HTML:li in CKEditor, r=davidb, sr=roc, a=blocking
--HG--
rename : accessible/tests/mochitest/tree/test_list_invalidate.html => accessible/tests/mochitest/treeupdate/test_list.html
2010-10-14 18:05:22 +09:00
L. David Baron
a56a24a514 Change callers to use new nsIFrame overflow APIs. (Bug 542595, patch 20) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:47 -07:00
L. David Baron
bf7624301d Now that overflow areas are split, change nsIFrame::ComputeTightBounds to use visual overflow. While it really only needs to include frame bounds, glyph bounds, and text decorations, since glyph bounds are not part of scrollable overflow, it must use visual overflow. (Bug 542595, patch 15) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:46 -07:00
L. David Baron
501b36b2c2 Remaining nsBlockFrame changes for split overflow areas. (Bug 542595, patch 14) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
972bf93064 Change nsBlockReflowContext::PlaceBlock for split overflow areas. (Bug 542595, patch 13) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
21464c8326 Split overflow areas for block frame float continuations. (Bug 542595, patch 12) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
b26661f697 Compute nsBlockFrame.cpp's ComputeCombinedArea to split overflow areas. (Bug 542595, patch 11) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
bb2c9bd999 Compute nsBlockFrame::ComputeCombinedArea to split overflow areas. (Bug 542595, patch 10) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
b401e8f1d5 Convert nsBlockReflowState::mFloatCombinedArea and part of nsBlockFrame to split overflow areas. (Bug 542595, patch 9) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
03966a7c79 Make nsLineLayout track two separate overflow areas. (Bug 542595, patch 7) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
70196364ee Make ReflowOverflowContainerChildren handle split overflow areas. (Bug 542595, patch 3) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
L. David Baron
af38a36244 Use split overflow areas in nsAbsoluteContainer::Reflow. Fixes overflow handling bug in nsPositionedInlineFrame where non-positioned overflow was ignored. (Bug 542595, patch 2) r=roc a2.0=blocking2.0:beta8 2010-10-06 21:25:45 -07:00
Robert O'Callahan
d4a0159920 Bug 596710. Increment (not decrement) rline to skip checking the cursor line twice. r=dbaron a=blocking 2010-09-17 12:09:08 -07:00
Ehsan Akhgari
27aec6b8bd Bug 593211 - Part 3: Optimize nsBlockInFlowLineIterator by using the line cursor if present; r,a=roc
--HG--
extra : rebase_source : 03f9f9532373592b415e622788204a7766d998f6
2010-09-08 20:15:24 -04:00
Robert O'Callahan
7db127ab8d Bug 584494 - Regression: Transform rotation testcase performs significantly worse - r=dbaron 2010-09-02 14:07:37 -04:00
L. David Baron
26ed2a5639 Add support for calc() to 'vertical-align' and 'text-indent'. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
70c2ff90c6 Share IsPaddingZero between nsBlockFrame and nsInlineFrame by putting it in nsLayoutUtils. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
L. David Baron
ed01917887 Add support for calc() to the '{margin,padding}-{top,right,bottom,left}' and '-moz-margin-{start,end}' properties. (Bug 585715) r=bzbarsky a2.0=blocking:beta6+ 2010-08-31 12:05:12 -04:00
Robert O'Callahan
3815d31b6e Bug 579323. Part 3: Fix invalidation of lines to update layers as necessary. r=dbaron
--HG--
extra : rebase_source : 6a043bda5f16f9a257fa4bfa272d8362facef4c2
2010-08-31 12:49:13 +12:00
L. David Baron
091d6b7837 Add support for calc() to the 'height', 'min-height', and 'max-height' properties. (Bug 585715) r=bzbarsky a2.0=blocking+ 2010-08-25 12:17:55 +02:00
L. David Baron
c1f752d22d We might need to collect pushed floats from the overflow out-of-flows list too, just like normal floats. (Bug 586806) r=roc a2.0=blocking 2010-08-19 09:38:00 -04:00
L. David Baron
e46aea6922 Don't construct an nsFrameList whose first child has a previous sibling. (Bug 586806) r=roc a2.0=blocking 2010-08-19 09:38:00 -04:00
L. David Baron
bd3161b815 Destroy the pushed floats list in nsBlockFrame::DestroyFrom. (Bug 585598) r=roc a2.0=blocking 2010-08-19 09:38:00 -04:00
L. David Baron
bbbb91235a Rename a frame property that I missed in a mass-rename. a2.0=blocking (Bug 563584) 2010-08-19 09:37:59 -04:00
fantasai
4b31319f01 Change coordinate system in the float manager from content box (most of the time, but sometimes border box) to always border box. (Bug 551425) r=dbaron a2.0=blocking+ 2010-08-11 12:32:53 -07:00
L. David Baron
6d279b0435 Rename float continuations to pushed floats. (Bug 563584, patch 33) r=roc
This patch was generated with the following sed commands on layout/generic/*.{h,cpp}: 's/FLOAT_CONTINUATION/PUSHED_FLOAT/g;s/FloatContinuation/PushedFloat/g;s/float continuation/pushed float/g' plus whitespace fixup where the frame state bits are defined.
2010-08-05 21:59:20 -07:00
L. David Baron
202767697e Set incomplete status when we have continuations that we shouldn't destroy. Fixes assertion on layout/generic/crashtests/469859-1.xhtml . (Bug 563584, patch 30) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
d71021a7dd Don't switch a constrained height to an unconstrained one due to infinite clearance. Fixes layout/reftests/bugs/563584-10b.html . (Bug 563584, patch 29) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
bc78f1fdf5 In a constrained height situation, we need to reflow anything with floats. (Bug 563584, patch 25) Fixes assertion on layout/generic/crashtests/408883-1.html . r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
5deb652621 Add bit to lines indicating that they may have a placeholder for a float that was pushed to the next line (and bump the child count up to 32 bits). (Bug 563584, patch 24) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
4a3f5d15df Remove aReflowStatus parameters made unnecessary by previous patch. (Bug 563584, patch 20) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
46bdda8846 Rename PushTruncatedPlaceholderLine since the remaining reasons for lines being truncated are related to being next to floats, not having truncated floats. (Bug 563584, patch 19) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
5247c76404 Do the same for PlaceBelowCurrentLineFloats: don't propagate the truncation of a float into the line's reflow status. (Bug 563584, patch 18) r=roc 2010-08-05 21:59:20 -07:00
L. David Baron
867d31744c Don't propagate the float's reflow status through places that expect an inline's reflow status, to avoid the assertion for which bug 563584 was filed. This separates pushing of floats from pushing of lines, and allows first-in-flow floats to be pushed to the next page without their associated line. (Bug 563584, patch 17) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
f3f9dbebba Save float's next sibling since reflowing it could change the next sibling. (Bug 563584, patch 16) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
646c626078 Steal float back before reflowing it, in order to allow first continuation of a float to be pushed to the next page. (Bug 563584, patch 15) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
fd5ab03929 nsBlockFrame::ReflowFloatContinuations doesn't need anything in AddFloat other than FlowAndPlaceFloat. (Bug 563584, patch 14) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
e714f071f9 Manage float continuations to-be-pulled by the next-in-flow better by keeping them in a separate frame list until they're actually pulled. (Bug 563584, patch 13) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
99f4849c65 Track which frames were float continuations that need to be pulled to the next block rather than figuring it out again when it's time to pull them. (This allows first-in-flows to be float continuations.) (Bug 563584, patch 12) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
4f730231c6 Don't try to clear pushed floats when computing the final size of blocks. Fixes scrollbar on layout/reftests/bugs/563584-6-columns.html . (Bug 563584, patch 11) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
fe16c37241 Add the optimization mentioned in the previous patch, so we don't have to iterate all floats to determine if one was split. (Bug 563584, patch 10) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
4da470a62d Remove initialization to value that doesn't make much sense and never matters. (Bug 563584, patch 8) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
08a16e6b29 Replace force-fit with setting mIsTopOfPage correctly. (Bug 563584, patch 5) r=roc 2010-08-05 21:59:19 -07:00
L. David Baron
f46f248ca8 Make nsBlockReflowState::FlowAndPlaceFloat reflow the float after computing its vertical position, so we know how much height is actually available. (Bug 563584, patch 4) r=roc
Test coverage for this is in the future patch "Add reftests for bug 563584.".
2010-08-05 21:59:18 -07:00
L. David Baron
11f75cf522 Remove aForceFit/aRelaxHeightConstraint concept from float reflow, since we now split floats rather than push them to the next page (and correct propagation of nsHTMLReflowState::mFlags::mIsTopOfPage will force fitting when we need to). (Bug 563584, patch 2) r=roc 2010-08-05 21:59:18 -07:00
Alexander Surkov
1b2bbba526 Bug 573706 - make frame based accessible creation more pellucid, r=davidb, sr=roc 2010-06-28 21:02:03 +09:00
Boris Zbarsky
76b245d938 Bug 571618. Fix asertion to match reality. r=roc 2010-06-14 16:06:48 -04:00
Boris Zbarsky
2fc6feb9ce Bug 571281. Make list-style-position:inside + display:list-item + non-visible overflow work again. r=roc 2010-06-11 15:23:13 -04:00
Daniel Holbert
c76f173bb3 Bug 571059: Update debugging printfs to treat nsFrameState objects as 64-bit & fix build warnings. r=dbaron 2010-06-10 11:26:57 -07:00
Mats Palmgren
8cb2101d6e Check each next-in-flow if it's an overflow container. b=564968 r=fantasai 2010-06-02 01:32:59 +02:00
Robert O'Callahan
9be046184a Bug 489477. Part 1: reflow lines again for clearance while we pull lines from the next-in-flow. r=mats 2010-05-13 12:56:08 +12:00
Boris Zbarsky
4d2b5f13cc Bug 562688 part 11. Eliminate eELEMENT usage in layout/generic. r=dbaron 2010-04-30 09:12:06 -04:00
Simon Montagu
9056f54ae6 Force logical ordering in XUL elements on visual bidi pages. Bug 558403, r=roc 2010-04-25 15:15:17 +03:00
Mats Palmgren
f282ed34fe Use NSCoordSaturatingAdd to avoid integer overflow. b=541714 r=roc 2010-04-14 21:35:36 +02:00
Ehren Metcalfe
e0ac5d5547 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
Robert O'Callahan
9a2ed61b34 Bug 551660. Switch layout code from using nsPropertyTable to FramePropertyTable. r=mats,sr=dbaron 2010-03-29 14:46:55 +13:00
Boris Zbarsky
3f25246245 Bug 522632. Make cellContent blocks returns false from IsContainingBlock. r=dbaron 2010-03-03 18:53:18 -05:00
Jonas Sicking
28396b7d9c Bug 545059: Remove unneeded/non-working bidi.controlstextmode pref. r=smontagu 2010-02-24 21:58:17 -08:00
Timothy Nikkel
fda05ac7f9 Bug 542136. If we are going to stop reflowing the children of a line, split the line even if we just finished a first letter or placeholder. r=roc
--HG--
extra : rebase_source : 3c3d54119f839c412a85930190f247bae07b10c7
2010-01-27 22:12:45 -06:00
Mats Palmgren
7fae53e76f Simplify PullFrame()/PullFrameFrom(). b=538525 r=roc 2010-01-11 15:08:23 +01:00
Timothy Nikkel
5f6a955352 Bug 499841. Pass the block frame that contains the first letter style to RemoveFirstLetterFrames so that the NS_BLOCK_HAS_FIRST_LETTER_CHILD bit can be unset on it. Always set the NS_BLOCK_HAS_FIRST_LETTER_CHILD bit on the first continuation only. r=bzbarsky
--HG--
extra : rebase_source : 411297490d6d18244fa7caa3194facfedc28ea86
2009-12-22 17:44:35 -06:00
L. David Baron
11b799dbbe Set iterators to valid position after deleting overflow lines. (Bug 534082) r=tnikkel 2009-12-25 08:59:08 -05:00
fantasai
1ffb0c06ef Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
fantasai
1e880721fb Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc 2009-12-24 00:20:41 -05:00
Mats Palmgren
b4284c9cc0 Don't try to get a nsLineBox* from an empty line list, it aborts a debug build. b=533379 r=bzbarsky 2009-12-18 10:02:10 +01:00
Olli Pettay
2f4c5ea761 Bug 487667 - Clone documents for printing, r=roc+jst+joe+dbaron
--HG--
extra : rebase_source : dbab242066ba97c0d7f34a2fb701a1c465f26ec4
2009-12-10 20:02:13 -08:00
Boris Zbarsky
99027aa785 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
e9f228c7d5 Backing out bug 525608 and bug 525952 2009-12-10 18:28:08 -08:00
Boris Zbarsky
0a82b262db 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
ffab603a47 Bug 518114 part 1. Don't force a virtual GetType call in GetFloatFromPlaceholder. r=roc 2009-11-16 16:00:07 -05:00
Timothy Nikkel
2f4f47ae5d Bug 515811. mPrevChild needs to be set on early exit from nsBlockFrame::ReflowBlockFrame. r=fantasai sr=dbaron
--HG--
extra : rebase_source : a0a457fa9348f48ac4f491610098f7488501faf7
2009-10-15 21:41:58 -05:00
Robert O'Callahan
40e5fe01a0 Bug 523468. Make sure we reflow the next line when content is pushed or pulled from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Timothy Nikkel
0df2b80d29 Bug 520427. Improvements to debug output List for frames. r=dbaron
--HG--
extra : rebase_source : f7723925a24937bb1989344805e9fda01ae0eded
2009-10-15 21:47:03 -05:00
Boris Zbarsky
5215a681c7 Bug 525295. Rename nsStyleContext::GetPseudoType to GetPseudo. r=dbaron 2009-10-29 17:17:56 -04:00
Robert O'Callahan
28cab8ef6c Backed out changeset 9f5177a978ac 2009-10-27 21:46:18 +13:00
Robert O'Callahan
d6f331fed2 Bug 523468. Force next line to be reflowed whenever we push or pull children from an inline frame. r=dbaron 2009-10-27 14:43:56 +13:00
Robert O'Callahan
63962ec51f Bug 504524. Don't reflow the line after an incomplete frame unless we really need to. r=bz 2009-10-19 01:01:40 -07:00
Simon Montagu
f0251c1158 Don't propagate the FRAMES_ARE_EMPTY flag when continuations cross block frame boundaries. Bug 495875, r+sr=roc 2009-10-13 00:12:54 -07:00
Boris Zbarsky
7428a0a55a Bug 516742. Make RFindLineContaining walk backwards along the lines' frames too, not just along the lines. r=roc,fantasai 2009-10-02 12:31:43 -04:00
Boris Zbarsky
4fc405cefa Bug 512336. Make frame lists doubly-linked. r=roc,fantasai 2009-10-02 12:27:37 -04:00
David Zbarsky
8d8553ee41 Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Boris Zbarsky
5c641e6c2b Bug 512471. Make nsBlockFrame's mFrames track its principal child list. r=roc,fantasai 2009-09-29 15:47:05 -04:00
Timothy Nikkel
38273580a9 Bug 499607. Stop leaking nsBlockFrame's overflow nsLineList's. r=fantasai sr=dbaron
--HG--
extra : rebase_source : 925847bda80e1b917af99119a11d0fb90ec479e8
2009-09-28 20:23:33 -05:00
Mats Palmgren
cf4ae83f1a Store the overflow out of flows as an nsFrameList. b=516974 r=bzbarsky 2009-09-24 04:39:21 +02:00
Michael Ventnor
7b53709720 Bug 512988 - Text-shadow blur and underline messes up with padding-left. r+sr=roc 2009-09-18 20:18:35 +02:00
Mats Palmgren
4e06ef038e Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
90fe0851f3 Bug 233463, patch 4 - Make nsIFrame::mNextSibling private. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
7ca7fe2f91 Bug 233463, patch 3 - Make Destroy/RemoveFrame() methods void and assert that the frame to remove is present. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
377056c269 Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren
8279fd683e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Mats Palmgren
948203eb7d Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
Daniel Holbert
16a6a6205f Bug 503961: Initialize block-reflow-state's nsOverflowContinuationTracker a little later, so that it doesn't end up with stale overflow-list pointers. r=fantasai r=roc 2009-09-13 17:26:01 -07:00
Zack Weinberg
17eb5a6efc Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
L. David Baron
399ff738b4 Make empty bullets (i.e., those for list-style-type:none) not contribute to layout. (Bug 512631) r=roc 2009-09-11 06:46:36 -04:00
Timothy Nikkel
b8eade5f1b Bug 514634. Remove unneeded second call to SetNextSibling, add some assertions, and fix a comment. r=fantasai
--HG--
extra : rebase_source : ab9ca9100ae41a022c4a0c129f98d5918d3c8c44
2009-09-11 10:26:30 +12:00
Mats Palmgren
c6ef676b9d Don't fall off the edge without returning a value. b=514689 r=fantasai 2009-09-04 23:07:30 +02:00
Timothy Nikkel
4c95346537 Bug 513394. Make sure that mPrevChild gets set on nsBlockReflowState. r=dbaron 2009-09-02 11:33:15 -04:00
fantasai
6bc41a439f Bug 492627 - Remove Placeholder Continuations [Part VII: More intelligent deletion of floats and overflow containers] r=roc 2009-08-31 11:25:37 -07:00
fantasai
059cc95c6b Bug 492627 - Remove Placeholder Continuations [Part VI: Handle <br clear>] r=roc 2009-08-31 11:25:36 -07:00
fantasai
d5c48032c3 Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc 2009-08-31 11:25:36 -07:00
fantasai
973c4e83aa Bug 492627 - Remove Placeholder Continuations [Part IV: Switch float layout APIs to pass float directly, without placeholder] r=roc 2009-08-31 11:25:35 -07:00
fantasai
01a3a6c947 Bug 492627 - Remove Placeholder Continuations [Part III: Remove current float-splitting code.] r=roc 2009-08-31 11:25:35 -07:00
Jesse Ruderman
93e766d08f Fix typo in assertion message 2009-08-25 21:50:41 -07:00
Boris Zbarsky
36622c6995 Backed out changeset 4aa19414e651 (bug 488249) to fix test orange.
--HG--
extra : rebase_source : ae1c0155ec32b0887eff27ded77c6ba2b37dda64
2009-08-24 20:51:57 -04:00
David Zbarsky
932e28482f Bug 488249. Replace IsNodeOfType(eHTML) checks with namespace checks. r+sr=jst 2009-08-24 16:02:07 -04:00
Zack Weinberg
2cd31f70f9 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -07:00
L. David Baron
7cc38c6fe9 When a block without lines has a bullet, give the line we fake its full line height. (Bug 179596) r=roc 2009-08-10 19:48:42 -07:00
Boris Zbarsky
f2936464e5 Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky
6e2c80851a Bug 496500. Don't try to interrupt on lines we're not actually reflowing, since during a resize on Windows HasPendingInputEvent returns true while the mouse is down. r+sr=roc 2009-07-30 11:53:36 -04:00
Boris Zbarsky
209e31bf48 Relanding bug 496823 in the hopes that it's not causing the XP Txul issue.
--HG--
extra : rebase_source : 593d43b5c229e077e4454d848dba59265dee6b58
2009-07-29 08:53:27 -04:00
Boris Zbarsky
b4eb9b7084 Backed out changeset 622a29736f33 to see whether bug 496823 causes the WinXP Txul regression.
--HG--
extra : rebase_source : 450a2a83442a2326e303f97ad82d8213fbe11490
2009-07-28 14:35:28 -04:00
Boris Zbarsky
5fefb45a48 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky
31d4329c40 Bug 504221 part 6. Switch nsBlockFrame::AddFrames to nsFrameList. r=fantasai,roc 2009-07-28 08:51:10 -04:00
Boris Zbarsky
db6ff446ab Bug 504221 part 5. Switch from GetFirstChild to GetChildList (returning an nsFrameList). For now, keep a GetFirstChild shim so callers don't have to be updated. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00
Boris Zbarsky
34df7918a4 Bug 496823. Blocks can implement GetLastChild() much faster than by just getting first child and iterating its siblings. r=roc 2009-07-26 21:27:32 -04:00
Boris Zbarsky
fa8b53c57c Bug 505482. Make sure to not leave frames on overflow lists when we interrupt reflow. Also fixes bug 478527 and bug 496742. r=roc 2009-07-24 09:32:32 -04:00
fantasai
1a4e383ad9 Bug 499377 - Store float region on frame r+sr=roc 2009-07-14 22:19:31 -07:00
fantasai
678c355f17 Bug 503183 - Use Overflow Containers for float continuations beyond end of containing block r=roc 2009-07-13 09:50:54 -07:00
fantasai
be518814d7 Bug 389462 - columns don't reflow on resize r=roc 2009-07-06 18:23:24 -07:00
Daniel Holbert
3589586c5b Bug 465651: Move ReflowOverflowContainerChildren earlier in nsBlockFrame::Reflow. r+sr=roc 2009-06-28 20:56:13 -07:00
L. David Baron
5cd3ba5141 Don't reduce the height we're checking while we reflow for floats. (Bug 494332) r+sr=roc 2009-06-16 08:00:20 -07:00
Timothy Nikkel
358f2be59b Bug 491700 - "hang while resizing windows (CPU hits 100%, no interaction is possible)." r+sr=bzbarsky 2009-06-12 21:28:41 -04:00
L. David Baron
7c71744210 Fix bug 25888 for inline frames other than bullets: redo line reflow when the line's height pushes it into the way of other floats. (Bug 25888) r+sr=roc 2009-05-20 07:21:34 -04:00
Jonas Sicking
d378472c28 Bug 481566: Add prefs to control making the content sink more responsive. r/sr=mrbkap 2009-05-19 08:54:42 -07:00
Robert O'Callahan
f34b7ae2c5 Bug 492480. Unregister placeholder relationship when we destroy out-of-flow frames, instead of trying to do it earlier in many places and not always doing it right. r+sr=dbaron
--HG--
extra : rebase_source : c9bedc1d7482b9c7ccf2878caded9320b92eb652
2009-05-14 09:35:02 +12:00
Daniel Holbert
0947631c3a Bug 490909: Remove old layout debugging code, patch #2: remove 'VerifyTree' & related code. r+sr=dbaron 2009-05-12 12:03:09 -07:00
Simon Montagu
824ab9b61e Do bidi reordering for visual RTL frames in the same way as other bidi frames. Bug 492231, r+sr=roc 2009-05-11 03:36:01 -07:00
Boris Zbarsky
2ba0794803 Bug 492080. More correct marking of dirty bits on floats when we interrupt. r+sr=dbaron 2009-05-09 22:51:34 -05:00
Daniel Holbert
197a86fb76 Bug 490909: Remove old debugging functions InLineList & InSiblingList, since they're not used by anything. r+sr=dbaron 2009-05-06 10:03:59 -07:00
Boris Zbarsky
05780cc568 Bug 67752. Implement interruptible reflow. r=roc,dbaron 2009-04-21 19:53:52 -04:00
Joe Drew
64bbcf4155 Backed out changeset 6a452e522e07 - Boris Zbarsky – Bug 67752. Implement interruptible reflow. r=roc,dbaron - because of apparent Tp hangs. 2009-04-21 23:02:17 -04:00
Boris Zbarsky
e5f6293681 Bug 67752. Implement interruptible reflow. r=roc,dbaron 2009-04-21 19:53:52 -04:00
L. David Baron
e4a4e2453e Use a struct containing a rectangle and a boolean for float available space rather than passing them around separately. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
8db07256cc Switch away from nsBlockReflowState::mAvailSpaceRect in nsBlockFrame::PropagateFloatDamage. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
b901f2cb67 Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child blocks. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
c82f0b7e2f Switch away from nsBlockReflowState::mAvailSpaceRect for inline reflow. (Bug 25888) r+sr=roc 2009-04-08 13:52:37 -07:00
L. David Baron
9bba032aed Switch away from nsBlockReflowState::mAvailSpaceRect for reflow of child floats. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
L. David Baron
5e6c45ce6a Switch away from nsBlockReflowState::mAvailSpaceRect in bullet reflow, and simultaneously refix bug 427370 in a way that also fixes bug 428810. (Bug 25888) r+sr=roc 2009-04-08 13:52:36 -07:00
Jonathan Kew
bdab93a7ca Bug 475968. Eliminate NS_FRAME_OUTSIDE_CHILDREN flag, store small overflow areas cheaply within the frame. r+sr=roc 2009-04-06 12:31:50 +12:00
Masayuki Nakano
88c1e2ba58 Bug 338209 Make spellchecker use thicker wavy underlines instead of dotted underlines r+sr=roc 2009-04-03 16:26:28 +09:00
L. David Baron
159abd3cdd Remove check for block being impacted by float that should no longer be needed given float damage propagation. (Bug 25888) r+sr=roc 2009-03-11 07:51:32 -07:00
L. David Baron
9e2237e480 Fix nsBlockFrame warning about child being used uninitialized in FindLineContaining by switching while to do-while. (Bug 477963) r+sr=roc 2009-02-19 09:48:37 -08:00
L. David Baron
8b207bcc51 Revert (back out) the previous 11 changesets (bugs 477959, 477961, 477963, 477962, 322475, 478899, 475215, 478156), due to Mac talos orange with (as usual) no useful diagnostic. 2009-02-18 18:59:47 -08:00
L. David Baron
d65dcf5c80 Fix nsBlockFrame warning about child being used uninitialized in FindLineContaining by switching while to do-while. (Bug 477963) r+sr=roc 2009-02-18 17:13:24 -08:00
Mats Palmgren
f0978053f2 Keep track of the line container and forget the current line if it's for a different container. b=444027 r+sr=roc 2009-02-10 10:23:05 +01:00
L. David Baron
850e8b403f Avoid calling PlaceBlock and unsetting dirty bits that we still need when an ancestor is going to reflow for clearance. (Bug 476357) r+sr=roc 2009-02-09 20:36:54 -08:00
Boris Zbarsky
6f9a0da875 Bug 299837. Implement text-align:end. r+sr=dbaron 2009-02-05 22:48:30 -05:00
Arpad Borsos
829f9f024a Bug 474369 - get rid of nsVoidArray; layout part; r+sr=roc 2009-02-03 15:42:18 +01:00
Daniel Holbert
5b26d7d11e Bug 465928 followup: correct typo in enum name - s/PERSERVE/PRESERVE/. No functional changes. r=roc 2009-01-13 12:28:28 -08:00
Benjamin Smedberg
24e7cb1f78 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.

--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
50621e4f9f Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
d0b948876f Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Mats Palmgren
6d4b0667d0 DEBUG: Make nsBlockFrame::List really print the overflow lines. b=472193 r+sr=roc 2009-01-08 22:17:53 +01:00
L. David Baron
eee42cfdd7 Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc
--HG--
rename : layout/generic/nsSpaceManager.cpp => layout/generic/nsFloatManager.cpp
rename : layout/generic/nsSpaceManager.h => layout/generic/nsFloatManager.h
2009-01-04 19:39:54 -05:00
L. David Baron
57a8e776d8 Rename flags and methods from space manager to float manager. (Bug 191448) r+sr=roc 2009-01-04 19:39:54 -05:00
L. David Baron
82d6666100 Remove the VerifyReflow code that checked the space manager state. (Bug 191448) r+sr=roc 2009-01-04 14:52:38 -05:00
L. David Baron
b3d748ba11 Fix some missed renames from bug 471356. r+sr=bzbarsky 2009-01-04 14:52:38 -05:00
Robert O'Callahan
0731a2c4f4 Bug 458296. When a block doesn't carry out the bottom-margin of its children, add that bottom-margin to its overflow area. Also, add the bottom-padding of a scrolled block to its overflow area. r+sr=dbaron 2008-12-29 21:18:40 +13:00
Simon Montagu
3363523acc Delete all text frame continuations when deleting first letter frame. Bug 466763, r+sr=roc 2008-12-02 22:56:53 -08:00
Robert O'Callahan
f9d2d59b5e Bug 465928. Avoid SetInvalidateTextRuns being called by nsBlockFrame::DoRemoveFrame when we're just deleting empty continuation frames. r+sr=dbaron 2008-12-03 14:27:19 +13:00
Robert O'Callahan
8ff4467f78 Bug 457398. Don't treat empty lines as the first line for text-indent or first-letter/first-line purposes. r+sr=dbaron 2008-11-27 10:44:47 -08:00
Robert O'Callahan
ab3854de4f Bug 462968. Sanitize block height. r+sr=dbaron 2008-11-26 11:57:28 +13:00
Brad Lassey
ea8dd114d1 backing out changesets 026147c91538, fb2326fcfc36, ebf0c7cf17be, 57e6a1e9041e, 1f5d2c249f86 and d7a7824d6990 due to crash on linux talos machines durring tp. 2008-11-26 12:20:26 -05:00
Robert O'Callahan
3330d2adb7 Bug 462968. Sanitize block height. r+sr=dbaron 2008-11-26 11:57:28 +13:00
Benjamin Smedberg
9696613a50 Relanding bug 461410 - nsILineIterator is never used outside of layout - set nsresults to replicate the existing code more correctly, which fixes the mochitest failures, r+sr=roc with nits noted by Mats Palmgren 2008-10-30 12:17:59 -07:00
Benjamin Smedberg
4214b72dd5 Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212 2008-10-28 02:49:14 -04:00
Benjamin Smedberg
dd4c950cff Bug 461410 - nsILineIterator is never used outside of layout, and doesn't need to be refcounted: the callers can just destroy it when they're done with it. We can't do this with a virtual destructor, however, because nsTableRowGroupFrame implements the interface directly, while nsLineIterator is a separately-allocated class. So clients are expected to call DisposeLineIterator when they're done with it.
Instead of accessing nsILineIterator using QueryInterface, we add a nsIFrame::GetLineIterator API, which is cleaner and more efficient all at the same time!

r+sr=roc
2008-10-28 00:47:19 -04:00
Boris Zbarsky
d4e731a68c Bug 442542. Make sure to reflow our possibly-size-dependent abs pos kids on the followup reflow that happens if clearance is discovered. r+sr=roc 2008-10-15 16:30:42 -04:00
Taras Glek
7a777b7b31 Bug 458969: dead stuff in nsSpaceManager r+sr=dbaron 2008-10-14 11:59:29 -07:00
Mats Palmgren
faeff8e834 DEBUG: nsBlockFrame::List should print the overflow lines. b=459540 r+sr=roc 2008-10-13 00:33:20 +02:00
Mats Palmgren
54ec50a55f Add 'aLineList' param to MarkLineDirty() so it knows the correct line list for 'aLine'. b=443528 r+sr=roc 2008-10-12 21:26:06 +02:00
Mats Palmgren
4a50767964 When switching from the overflow lines to normal lines we must reset 'mInOverflowLines' or we'll compare 'mLine' to the wrong list on the next call. b=457375 r+sr=roc 2008-10-12 02:19:41 +02:00
Mats Palmgren
609b22ab61 Mark the bullet frame dirty when its ordinal change. b=203727 r+sr=dbaron 2008-10-11 03:41:10 +02:00
Daniel Holbert
8155b8841d Bug 452157 - Update aState.mPrevChild when we pull from next-in-flow. r+sr=roc 2008-10-10 17:25:28 -07:00
Arpad Borsos
d0e70a51bf Bug 452797 - Clean up unused variables in layout/; v6; r+sr=roc 2008-09-20 15:42:03 +02:00
Robert O'Callahan
f79290bb0e Bug 450930. Fire a DOM event when painting so that content and chrome can track what's being repainted. r=smaug,sr=dbaron 2008-09-18 21:47:21 +12:00
timeless@mozdev.org
5819f54b4e merging backout part two of two
to fix Bug 454186
SM crashes when try to download file [@ nsString::ToInteger - nsTreeBodyFrame::PaintProgressMeter]
2008-09-08 16:01:00 +02:00
timeless@mozdev.org
b0c349250f Backed out changeset 54215f2cbc66
to fix Bug 454186
SM crashes when try to download file [@ nsString::ToInteger - nsTreeBodyFrame::PaintProgressMeter]
2008-09-08 16:00:32 +02:00
Robert O'Callahan
cddb22d87c Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-08 20:13:17 +12:00
Arpad Borsos
1f62482141 Bug 452797 - Clean up unused variables in layout/; r+sr=roc 2008-09-06 20:38:31 +02:00
Robert O'Callahan
ea7596e60c Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures 2008-09-07 00:35:20 +12:00
Robert O'Callahan
f7339a0460 Bug 243519. Rework root element frame construction and the CanvasFrame so that the CanvasFrame is an abs-pos container and the root element frame can be positioned. r=fantasai,sr=dbaron 2008-09-06 21:35:05 +12:00
Boris Zbarsky
d9344bb542 Bug 449362 - "Table border is rendered incorrectly when the table cell size changes due to javascript." [r+sr=roc] 2008-08-20 01:45:29 -05:00
Robert O'Callahan
3976bbe726 Bug 413048. Disable float breaking in columns. r+sr=dbaron 2008-08-12 21:32:10 +12:00
Robert O'Callahan
fba2d206f6 Bug 230555. Support white-space:pre-line. r+sr=dbaron 2008-08-12 20:31:56 +12:00
Robert O'Callahan
4042320c9c Bug 441418. Instead of guessing when frame broke at a first-letter boundary, explicitly record that in a reflow status bit. r+sr=dbaron 2008-08-06 12:31:25 +12:00
Simon Montagu
0dd0a7f5ba Support for word-wrap CSS property. Bug 99457, r+sr=dbaron, roc 2008-07-24 10:16:18 +03:00
Boris Zbarsky
3af92ec386 Bug 430352. Use the same border throughout. r+sr=roc 2008-07-17 09:32:49 -04:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
49c9b3d67e Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 23:30:25 -07:00
L. David Baron
9e4ceade8e Backed out changeset 9b0b2391485c due to linker errors related to nsStyleStructInlines.h not being included enough. 2008-07-16 22:59:14 -07:00
Andrew Smith ext:(%2C%20Rob%20Arnold%20%3Ctellrob%40gmail.com%3E%2C%20L.%20David%20Baron%20%3Cdbaron%40dbaron.org%3E)
bb4be48531 Implement css3 border-image property. (Bug 378217) r=vlad,dbaron,robarnold 2008-07-16 22:18:38 -07:00
Karuna (karunasagark@gmail.com)
22a214272c Bug 409331. Instead of QIing to nsBlockFrame in various places, call an nsLayoutUtils method to do it. r+sr=roc 2008-07-14 10:10:23 +12:00
Michael Ventnor
7e868a56e1 Implement text-shadow rendering (bug 10713). r+sr=roc. Relanding with fixes to make tests pass on Mac 2008-06-13 10:02:32 +12:00
Robert O'Callahan
6382ad7c40 Backing out text-shadow due to Mac issues 2008-06-12 17:32:31 +12:00
Michael Ventnor
480a40574d Implement text-shadow rendering. 2008-06-12 14:34:40 +12:00
Robert O'Callahan
446ada92bc Allow floats to be placed on the current line even after nonzero-width inline content has been placed. Fixes an Acid3 layout bug. r+sr=dbaron 2008-06-11 11:53:22 +12:00
L. David Baron
3da1e57e70 Don't make our anonymous blocks that wrap blocks inside inlines be containing blocks so that we get the right containing block direction per the CSS spec. (Bug 423306) r+sr=roc 2008-06-05 16:06:34 -07:00
L. David Baron
6ce40d4252 Eliminate unnecessary reference counting of gfxContext objects. b=433640 r+sr=roc 2008-06-03 15:25:31 -07:00
roc+@cs.cmu.edu
45ac0e7ce6 Bug 398332. Merge reflow statuses from out-of-flow frames more carefully so that we don't lose information about the primary reflow. r=fantasai,r+sr=dbaron,a=shaver 2008-05-28 06:39:41 -07:00
dbaron@dbaron.org
31fad3f842 Compute widths for replaced block clearing past floats once we're at the correct vertical position. b=430813 r+sr=roc a=schrep 2008-05-03 16:33:36 -07:00
dbaron@dbaron.org
f7b9b7673b Fix extra block-clearing caused by margins on tables. b=430813 r+sr=roc a=damon 2008-05-01 08:14:36 -07:00
timeless@mozdev.org
fb126ee7de Bug 351687 [@ nsBlockFrame::GetAccessible] mContent null check comes after we use mContent r=aaronl sr=dbaron a=beltzner 2008-04-21 10:19:32 -07:00
fantasai.cvs@inkedblade.net
b093864cba consider relevant overflow when balancing columns (fixes various crashes and hangs) b=404215 r+sr=roc a=beltzner 2008-04-18 00:40:35 -07:00
dbaron@dbaron.org
0cc180b641 Fix bug 427129 / 377664: When displacing blocks that don't interact with floats around floats, displace the border box rather than the margin box. Fix bug 427782: Simultaneously, only displace when the width actually won't go down to an amount that fits (i.e., if it will go to an amount smaller than the intrinsic minimum width, let it). b=427129 r+sr=roc a=schrep 2008-04-14 18:05:17 -07:00
mats.palmgren@bredband.net
5a624fe0b5 The position of an outside bullet should not be affected by floats inside the principal block (this fixes most cases). b=427370 r+sr=dbaron a1.9=beltzner 2008-04-13 10:43:12 -07:00
dholbert@cs.stanford.edu
8a24231d01 Bug 427017: Disable page-break-before/after for fixed- & absolutely-positioned elements. Also, fix assertion during an iterator-comparison by handling case where lineBox is in overflow-lines. r=fantasai sr=roc a1.9=beltzner 2008-04-11 22:32:49 -07:00
roc+@cs.cmu.edu
1bfe348601 Bug 425253. Propagate reflow-depth tracking through XUL box layout. r+sr=dbaron,a=damon 2008-04-09 21:39:41 -07:00
dholbert@cs.stanford.edu
2e71a1cb17 Bug 421710: Replace a call to CreateContinuationFor with calls to SplitPlaceholder & SplitLine, to make sure that we don't lose the real frame for which we've made a placeholder. Patch by Michal Novotny <michal@allpeers.com> r+sr=roc a=blocking1.9+ 2008-04-08 07:42:52 -07:00
roc+@cs.cmu.edu
a9f7ac7267 Bug 424710. Make sizing of abs-pos frames whose container is the initial containing block sane and consistent with Firefox 2, while still incorrect. r+sr=dbaron 2008-04-06 03:03:41 -07:00
smontagu@smontagu.org
974b8dbc2f Correct the coordinates for selection decoration in right-to-left text. Bug 421042, r+sr=roc, a=beltzner 2008-04-06 01:12:09 -07:00
masayuki@d-toybox.com
3ea5191188 Bug 421353 Moving the mouse over text hyperlinks which become underlined spikes cpu usage r=roc+stuart, sr=roc, a1.9=beltzner 2008-03-29 14:25:15 -07:00
bzbarsky@mit.edu
b607f1de90 Invalidate tables a little harder. Bug 421632, r+sr=roc 2008-03-16 13:32:48 -07:00
dholbert@cs.stanford.edu
52a3ff9796 Bug 421239: Remove broken/brittle optimization of guessing (incorrectly) whether a line might be empty, when we're determining whether we need to mark next line's margin as dirty. r+sr=roc, a=blocking1.9+ 2008-03-14 00:21:15 -07:00
dbaron@dbaron.org
950ba556ce Don't make overflow:-moz-hidden-unscrollable affect layout. b=411213 r+sr=roc a=beltzner 2008-03-13 08:23:27 -07:00
masayuki@d-toybox.com
821cf1156c Bug 417014 Need blacklist system for underline offset adjusting of CJK fonts which have wrong underline offset r=roc+stuart, sr=roc, b1.9=stuart 2008-03-12 19:36:58 -07:00
dbaron@dbaron.org
7003061847 Fix the weird Get* API on nsStyleSides in favor of returning structs by value, to avoid further occurrences of bug 420069. b=420069 r+sr=roc a=beltzner 2008-03-05 16:05:26 -08:00
dholbert@cs.stanford.edu
65a3300338 Bug 418766: Use width, not height, as a quick proxy for whether a line is empty. r+sr=roc, a=beltzner 2008-02-29 13:45:43 -08:00
roc+@cs.cmu.edu
bc1e698534 Bug 400057. Make nsBlockInFlowLineIterator useful for finding the line containing a frame, searching across block continuations and their overflow lines. Use it in various places, especially in textrun construction. r+sr=dbaron 2008-02-27 01:53:48 -08:00
reed@reedloden.com
40b710e021 Bug 391559 - "Incorrect ordered-list numbering within -moz-column-* (and/or numbering changes when clicked)" [p=craig.topper@gmail.com (Craig Topper) r+sr=roc a1.9=beltzner] 2008-02-23 23:31:29 -08:00
fantasai.cvs@inkedblade.net
d4dc37580f switch GetOverflowAreaProperty callers to GetOverflowRect b=417116 r+sr=roc a=roc 2008-02-19 23:08:55 -08:00
masayuki@d-toybox.com
cb5c20d581 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc b1.9=dbaron 2008-02-16 07:31:27 -08:00
jruderman@hmc.edu
246a074c8f Remove redundant |if| around assertion (bug 416645). r+sr=roc, a=schrep 2008-02-11 09:13:34 -08:00
dbaron@dbaron.org
8967a5c8bd Stop using -moz-float-edge for list items, but offset the bullet position in the presence of floats. b=413840 (and numerous others) r+sr=roc a=blocking1.9+ 2008-02-10 13:49:24 -08:00
bzbarsky@mit.edu
8b8a07f4a7 Fix bug 416073: invalidate more things as needed during table reflow to prevent glitches. r+sr=roc 2008-02-08 01:36:32 -08:00
roc+@cs.cmu.edu
69d37e34c6 Remove unnecessary whitespace, triggering a build 2008-01-30 10:12:38 -08:00
fantasai.cvs@inkedblade.net
5ce5057857 patch hang for FFb3 b=414255 r+sr=roc 2008-01-29 21:48:42 -08:00
roc+@cs.cmu.edu
2032b542bf Bug 411870. nsBidiPresUtils needs to track the current line across block continuation boundaries. r=smontagu 2008-01-29 15:39:39 -08:00
dbaron@dbaron.org
b6cd4ed827 Push scrollframes, tables, and other blocks that don't participate in float formatting down when they don't fit next to floats. b=134706,349255 r+sr=roc a=blocking1.9+ 2008-01-28 23:40:05 -08:00
roc+@cs.cmu.edu
dea0868d56 Bug 411870 backout again 2008-01-28 11:10:26 -08:00
roc+@cs.cmu.edu
6ac78d0700 Bug 411870. Bidi resolution needs to scan through block continuations when tracking the current line for frames. r=smontagu 2008-01-28 10:16:22 -08:00
roc+@cs.cmu.edu
d0b43fea97 backing out 411870 2008-01-27 22:28:31 -08:00
roc+@cs.cmu.edu
1233a70df6 Bug 411870. Make bidi resolution track lines across block continuation boundaries. r=smontagu 2008-01-27 21:07:14 -08:00
fantasai.cvs@inkedblade.net
625892eb67 fix border/padding and availableHeight calculations at page/column breaks, b=368079 r+sr=roc a=roc 2008-01-23 16:28:42 -08:00
fantasai.cvs@inkedblade.net
9de679bfb3 backing out patch to bug 368079 to investigate reftest failure 2008-01-15 20:59:15 -08:00
fantasai.cvs@inkedblade.net
4b81524f7e fix border/padding and availableHeight calculations at page/column breaks, b=368079 r+sr=roc a=roc 2008-01-15 19:54:46 -08:00
roc+@cs.cmu.edu
677dfbe4d2 Bug 408749. Use a QI check instead of a frame-type check to detect blocks. r+sr=bzbarsky,a=schrep 2007-12-20 19:28:18 -08:00
smontagu@smontagu.org
c2ccf0f7a0 Collect frames from all block continuations in the buffer for bidi resolution. Bug 408292. r+sr=roc, a=schrep 2007-12-20 02:06:14 -08:00
vladimir@pobox.com
1f7f3e59ed b=406458; code cleanup: add new ThebesContext() call as opposed to NATIVE_THEBES_CONTEXT hackery, r=stuart 2007-12-18 15:01:15 -08:00
dholbert@cs.stanford.edu
fede2e1623 Whitespace-only change -- fixing too-little-indentation in two lines added from bug 385607. 2007-12-12 16:24:32 -08:00
dbaron@dbaron.org
c119e66f4c Fix comment describing nsBlockFrame. 2007-12-12 13:49:14 -08:00
roc+@cs.cmu.edu
cfe771c051 Bug 404180. Bidi reordering moves frames around so we can't trust pfd->mBounds in nsLineLayout::RelativePositionFrames. r+sr=dbaron 2007-12-11 17:43:09 -08:00
smontagu@smontagu.org
fdfed24896 Only try to process first-letter frames when they exist. Bug 404209, r+sr+b=roc 2007-12-05 00:15:15 -08:00
roc+@cs.cmu.edu
a05edceefa Bug 375304. Make nsHTMLScrollFrame handle situations where the child content height depends on our height. patch by Eli Friedman, r+sr=roc,dbaron 2007-12-04 19:05:57 -08:00
roc+@cs.cmu.edu
f46bfbd93f Bug 406568. Don't reflow abs-pos kids of a block if we're going to reflow it again because of a clearance change. r=sr=dbaron 2007-12-04 18:57:53 -08:00
roc+@cs.cmu.edu
264008d558 Backing out unintentionally-checked in stuff 2007-12-04 18:12:40 -08:00
roc+@cs.cmu.edu
ea37d818bc Bug 392809. Break between whitespace and following punctuation even when stop_at_punctuation is false. Don't stop between punctuation and following non-punctuatino if the preceding punctuation follows white-space. r=smontagu 2007-12-04 18:11:17 -08:00
dmose@mozilla.org
a7aaa3bf1f Backing out fix for bug 392785 as per roc + mconnor. 2007-12-04 15:32:08 -08:00
roc+@cs.cmu.edu
a1bfe8ccdd Bug 406484. Do RecoverStateFrom for not-dirty inline lines containing floats when willReflowAgain is true, because the floats must be moved by deltaY. r+sr=dbaron 2007-12-03 17:30:49 -08:00
bzbarsky@mit.edu
6991247863 Relanding bug 403657, since there was no obvious perf impact 2007-12-03 13:31:26 -08:00
dholbert@cs.stanford.edu
49fa4d6678 Re-landing Bug 405517, after backing it out to look for Ts regression. (no regression found) 2007-12-03 12:41:24 -08:00
dholbert@cs.stanford.edu
b59516ee43 Backing out Bug 405517 to see if it causes a Ts regression 2007-12-03 11:34:45 -08:00
bzbarsky@mit.edu
e628936671 Backing out bug 403657 to see whether it causes the Ts regression 2007-12-03 10:32:51 -08:00
masayuki@d-toybox.com
db9a1f0734 Bug 392785 overflowed underline sometimes is not repainted at scrolling r+sr=roc, b1.9=dbaron 2007-12-02 22:51:57 -08:00
bzbarsky@mit.edu
764340917d Don't position bullets on empty list items too high. Bug 403657, r+sr=dbaron 2007-12-02 21:33:22 -08:00
dholbert@cs.stanford.edu
bf57d93119 Bug 405517: Allow margins to affect empty line y-pos, to enforce emptyLine.mBounds.y always == emptyLine.next().mBounds.y r+sr=roc, a=blocking1.9 2007-12-02 21:30:02 -08:00
roc+@cs.cmu.edu
c879238a00 Bug 406297. Assertion about stale float caches should not fire when the line is not dirty, because the float cache is not stale in that case. r+sr+a=dbaron 2007-12-02 20:25:02 -08:00
roc+@cs.cmu.edu
cc4171d53e Backing out bug 375304 to fix reftest failures. 2007-12-01 03:49:13 -08:00
roc+@cs.cmu.edu
54e87ad4ef Bug 400244. Remove UndoSplitPlaceholders which is not only unnecessary but actually harmful/crashy. r=fantasai,sr=dbaron 2007-12-01 02:51:56 -08:00
mats.palmgren@bredband.net
f1fcdfee8f Propagate |aRemoveOnlyFluidContinuations| when removing continuations in other blocks. b=405178 r+sr=roc a=mtschrep 2007-12-01 02:47:58 -08:00
roc+@cs.cmu.edu
ff06dbce58 Bug 375304. Fix absolute positioning where the abs-pos container is scrollable and has a height constrained by min-height etc. Patch by Eli Friedman, r+sr=roc 2007-12-01 02:38:09 -08:00
roc+@cs.cmu.edu
fa3ff59fd9 Bug 406137. Fix crashes on redhat.com etc by avoiding RecoverFloats traversing stale float caches. r+sr=dbaron 2007-12-01 00:29:02 -08:00
roc+@cs.cmu.edu
1b7dd2d6f3 Bug 320378. Skip reflowing lines in ReflowDirtyLines if we know that we're going to come back here because clearance was detected. r+sr=dbaron 2007-11-29 17:49:01 -08:00
bzbarsky@mit.edu
886b623f02 Fix bug 403134. r+sr=roc 2007-11-25 16:15:20 -08:00
dholbert@cs.stanford.edu
e042a678b0 Bug 393655: Fix undetected cases of lines going empty --> nonempty, due to margins. r+sr=roc, a=blocking1.9+ 2007-11-15 11:07:04 -08:00
bzbarsky@mit.edu
ac8234d604 Don't compare lines from different blockframes' lists to each other. Also fix handling of text-decorations in in-flows of blocks with text-indent. Bug 393330, r+sr=roc, a=schrep 2007-11-14 22:12:17 -08:00
roc+@cs.cmu.edu
e0ac0a1bc3 Backing out bug 375304 because of reftest failure 2007-11-11 19:40:27 -08:00
roc+@cs.cmu.edu
4da3232491 Bug 375304. Fix absolute positioning for scrolled abs-pos containers with weird height constraints. patch by Eli Friedman, r+sr=roc 2007-11-11 18:19:35 -08:00
reed@reedloden.com
1d2c085173 Bug 398101 - Be more diligent about invalidating textruns for lines [p=roc r+sr=dbaron a=blocking1.9+] 2007-11-08 22:55:32 -08:00
reed@reedloden.com
c138e9a426 Bug 307242 - Use ClearFloats instead of inspecting the space manager to determine the final height of a block formatting context [p=roc r=elif sr=roc a=blocking1.9+] 2007-11-07 20:42:26 -08:00
reed@reedloden.com
bb564a7d0b Bug 398144 - Make blocks that are margin-roots never consider themselves empty. [p=roc r+sr=dbaron a=blocking1.9+] 2007-11-07 19:55:12 -08:00
dholbert@cs.stanford.edu
320468981b Bug 400171: check line mCombinedArea (along with mBounds) to find float damage. r+sr=roc, a=blocking1.9+ 2007-11-07 12:07:54 -08:00
dholbert@cs.stanford.edu
dd259dd796 Bug 399384: Make first-letter frames use nearest ancestor blockFrame's content node, instead of direct parent's. r=bzbarsky, r+a=roc 2007-10-19 10:41:29 -07:00
fantasai.cvs@inkedblade.net
344d6b32b9 Fix StealFrame failure + crash, b=400223 r+sr=roc a=roc 2007-10-19 07:54:07 -07:00
roc+@cs.cmu.edu
32b36ae07b Bug 397518. Wrap inline non-MathML children of MathML frames in anonymous blocks. r+sr=bzbarsky 2007-10-12 01:30:54 -07:00
smontagu@smontagu.org
d5126a3713 Change the usage of NEEDS_BIDI_RESOLUTION so that it is either set on every block in a continuation chain or none of them. Bug 394805, r+sr+b=roc 2007-10-11 04:41:04 -07:00
bzbarsky@mit.edu
8c78ae026d Don't allow first-letter on the block inside a mathml table cell. Bug 398510, r+sr+a=roc 2007-10-10 21:36:48 -07:00
fantasai.cvs@inkedblade.net
669ff25ede crash due to improper overflow container frame deletion, b=393956, r+sr=roc 2007-10-10 15:09:53 -07:00
roc+@cs.cmu.edu
9cbcfce8a9 Bug 389583. Move an assert so it doesn't fire bogusly. r=eli,sr=mats,a=dbaron 2007-10-09 19:18:40 -07:00
mats.palmgren@bredband.net
b26b967070 Take into account that |line| can be an overflow line when accessing the previous line. Patch by roc and me. b=397007 r+sr=me/roc blocking1.9=roc 2007-10-07 10:32:07 -07:00
reed@reedloden.com
15b334ce41 Backed out elif's patch from bug 307242 due to it causing a reftest failure for the test for bug 218473. 2007-10-03 21:33:43 -07:00
reed@reedloden.com
9d691995f3 Bug 307242 - "ASSERTION: bad argument: '(aRight > mLeft) && (aRight < mRight)', @ nsSpaceManager::BandRect::SplitHorizontally" [p=elif (sharparrow1) r+sr+a1.9=roc] 2007-10-03 20:18:31 -07:00
fantasai.cvs@inkedblade.net
678b52fb1e fix use of DEBUG-only data member, bug=154892 r+sr+a=roc 2007-10-02 01:29:23 -07:00
fantasai.cvs@inkedblade.net
2456fd7a33 paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc 2007-10-01 22:57:45 -07:00
dholbert@cs.stanford.edu
3dc3e796ba Bug 391894, comment amendment for just-checked-in patch. (s/normal-child/regular-children/) 2007-09-24 13:25:38 -07:00
dholbert@cs.stanford.edu
8550b70aae Bug 391894: Make recursive call to CollectFloats on children in overflowList. r=roc sr=roc approval1.9=roc 2007-09-24 13:21:41 -07:00
dholbert@cs.stanford.edu
cacdf4f467 Bug 387876 - Columns in absolutely positioned div break when changed, r=roc sr=roc blocking1.9=dbaron 2007-09-24 12:52:09 -07:00
roc+@cs.cmu.edu
5d758d9550 Bug 385607. Ensure that whitespace is collapsed across text-run boundaries across incremental updates like adding/removing frames in the middle of the textrun. r+sr+a=dbaron 2007-09-17 20:00:16 -07:00
jwalden@mit.edu
f57320c98b Bug 348748 - Cleanup from the handful of patches which have landed since the initial landing that have readded cast macros; I intend to remove the rest of the instances Very Soon, all but certainly before the M8 freeze, so the macro definitions can be removed, again all but certainly before the M8 freeze, if people are okay with them being removed. Still r=bsmedberg, a=no-functionality-change 2007-09-04 23:41:35 -07:00
jruderman@hmc.edu
b57bde0ea9 Add period at end of sentence. Comment-only change. 2007-09-03 02:51:52 -07:00
smontagu@smontagu.org
fbd7d46cd2 Previous checkin was for bug 382422 2007-09-03 00:00:10 -07:00
smontagu@smontagu.org
6650b96bdc Bug 394222: Optimize calls to Bidi resolution. r=dbaron, sr+a=roc 2007-09-02 23:51:11 -07:00
smontagu@smontagu.org
65cff8b443 Remove cruft from nsBidiPresUtils. Bug 393962, r+sr+a=roc 2007-08-29 02:19:16 -07:00