Commit Graph

386 Commits

Author SHA1 Message Date
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