672 Commits

Author SHA1 Message Date
bzbarsky%mit.edu
4c07e20fbe Add a utility method for finding the containing block to nsHTMLReflowState, and
make use of it in fixing the text-decoration drawing on blocks to deal with
negative text-indent.  Bug 263374, r+sr=dbaron


git-svn-id: svn://10.0.0.236/trunk@165766 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-25 02:43:28 +00:00
roc+%cs.cmu.edu
0ce7145190 Bug 269905. Remember emptiness state on line boxes, but be selective about to to minimize the invalidation burden. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@165713 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-24 13:22:10 +00:00
roc+%cs.cmu.edu
05b0dbe26a Changing IsFrameEmpty to IsSelfEmpty as dbaron requested and I forgot to do before checking in.
git-svn-id: svn://10.0.0.236/trunk@165364 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-15 05:01:11 +00:00
roc+%cs.cmu.edu
7f490d3aac Bug 261064. Compute static absolute positions more accurately. Also, ensure that static absolutely positioned frames are moved when their placeholders move. Also, ensure that absolutely positioned frames positioned relative to the left or bottom edge of their container move when the container size changes. r+sr=dbaron (rubberstamp)
git-svn-id: svn://10.0.0.236/trunk@165349 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-14 20:22:58 +00:00
smontagu%smontagu.org
d4954c0fc8 Make layout debugger show pseudo-styles. Bug 268235, r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@165260 18797224-902f-48f8-a5cc-f745e15eee43
2004-11-11 17:48:09 +00:00
dbaron%dbaron.org
897a892fa0 Don't push lines when height is unconstrained, even if current height is bigger than NS_UNCONSTRAINEDSIZE. b=265027 r+sr=roc a=mkaply
git-svn-id: svn://10.0.0.236/trunk@164194 18797224-902f-48f8-a5cc-f745e15eee43
2004-10-22 17:33:52 +00:00
roc+%cs.cmu.edu
2bb7f4c340 Bug 263586. Fix regression in incremental line reflow by being more conservative in detecting when a line has just been reflowed for the first time. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@163491 18797224-902f-48f8-a5cc-f745e15eee43
2004-10-10 01:56:00 +00:00
roc+%cs.cmu.edu
22e0ff6cb8 Bug 251162. Landing experimental implementation of CSS3 columns. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@163416 18797224-902f-48f8-a5cc-f745e15eee43
2004-10-08 12:17:10 +00:00
roc+%cs.cmu.edu
22c664a250 Bug 260896. When a floating first-letter frame reports FRAME_IS_NOT_COMPLETE after reflow, (then unlike blocks) that does NOT mean that it needs to continue on the next page! It just means it has an inline continuation. So correct its reflow status early in ReflowFloat so that we don't confuse the heck out of block reflow. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@162931 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-29 02:18:25 +00:00
bryner%brianryner.com
d80f327086 Unify box and frame trees by moving nsIBox methods onto nsIFrame. XUL-box frames can call the superclass nsBox implementation, all other frames get the nsFrame implementation of the box methods, which acts like nsBoxToBlockAdaptor used to. Bug 258513, r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@162876 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-28 18:37:50 +00:00
roc+%cs.cmu.edu
e328b8648c Bug 260515. Fix obviously broken code in CombineBreakType. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@162593 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-21 13:56:06 +00:00
roc+%cs.cmu.edu
0c4ce3d86f Bug 257612. Fix dynamic margin changes by 1) Propagate IsPreviousMarginDirty through empty lines 2) Reflow any line whose previous margin is dirty. 3) If a reflowed line could have been tested in a subsequent line's ShouldApplyTopMargin both before and after reflow, and might have been empty before or after reflow, then make the next line's previous margin dirty. 4) If reflowing a block changes its carried-out margin, then mark the next line's previous margin dirty. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@162521 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-18 14:39:07 +00:00
roc+%cs.cmu.edu
6f45d28987 Bug 248825. Correctly push overflowing float placeholders to the start of the overflow lines in the case where the first overflow line is a block. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@162479 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-17 00:02:56 +00:00
roc+%cs.cmu.edu
ab88d1e1ac Bug 259032. DeCOMtaminate nsIFrame::GetNext/PrevInFlow. r+sr=roc, patch by Will Levine
git-svn-id: svn://10.0.0.236/trunk@162269 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-14 02:28:03 +00:00
roc+%cs.cmu.edu
26dae9e55b Bug 257216. Fix sundry block issues for columns. In particular, remove overflowing floats from the space manager before we compute the space manager's XMost and YMost to include in the block size. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@162210 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-13 13:35:46 +00:00
roc+%cs.cmu.edu
007e533df8 Bug 258118. Ensure that float breaks are eventually honoured even if the line with the break is not reflowed and the following line is empty. r+sr=dbaron(rubber-stamp)
git-svn-id: svn://10.0.0.236/trunk@162191 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-13 02:21:35 +00:00
dbaron%dbaron.org
d078282226 Land bug 72747 in pieces: Implement overflow-x and overflow-y. b=72747 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@161772 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-05 00:04:04 +00:00
bryner%brianryner.com
ffa6c10070 Remove unneeded nsIFocusTracker interface, changing all users to nsIPresShell (bug 257596, r+sr=roc).
git-svn-id: svn://10.0.0.236/trunk@161569 18797224-902f-48f8-a5cc-f745e15eee43
2004-09-01 05:16:00 +00:00
bryner%brianryner.com
43628f9edf More nsIPresShell deCOMtamination:
- Made Get/SetAuthorStyleDisabled and ReconstructStyleData non-virtual when called internally.
- Inlined GetFrameSelection and renamed it to FrameSelection.
- Removed non-inline version of GetViewManager.
- Removed unused EnablePrefStyleRules and ArePrefStyleRulesEnabled.

Bug 253889, r+sr=roc.


git-svn-id: svn://10.0.0.236/trunk@161442 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-29 03:08:44 +00:00
dbaron%dbaron.org
565357f6d2 Backout the CSS parts of bug 72747 to see if that fixes the Tp regression.
git-svn-id: svn://10.0.0.236/trunk@161357 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-26 22:35:38 +00:00
dbaron%dbaron.org
ed6372cf2f Implement 'overflow-x' and 'overflow-y' CSS properties, long implemented by IE for Windows and proposed for CSS3. Implement scrolling='yes' and equivalents on frame and iframe. Various pieces of related cleanup (see comment 22 in bug). b=72747 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@161333 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-26 17:11:20 +00:00
roc+%cs.cmu.edu
1d2e448f04 Relanding fix for bug 253977, now that state bits prevent GetOverflowLines from being expensive. Fix a few columns-hurting block bugs. 1) Always drain overflow lines on any kind of block reflow. 2) Set NS_FRAME_REFLOW_NEXTINFLOW in the reflow status whenever reflow of the block's next-in-flow is required. 3) Search overflow lines when we're looking for frame continuations to delete. 4) Show overflow area in nsContainerFrame frame dump. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@161313 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-26 12:38:50 +00:00
roc+%cs.cmu.edu
bc82fb52fd Bug 256937. Use state bits to avoid expensive property lookups in GetOverflowLines/OutOfFlows/Placeholders. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@161296 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-26 03:07:05 +00:00
roc+%cs.cmu.edu
137e8af6e1 Bug 252920. Compute the block overflow area using nsRects instead of some hokey homegrown calculations. Don't advancy mY for empty lines. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@161228 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-25 13:10:06 +00:00
bryner%brianryner.com
ff2bc0b69e Trying again to land support for content node properties (bug 253888). r=jst, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@161182 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-24 18:50:29 +00:00
bryner%brianryner.com
2ac3245dec Backing out 253888 again due to Tp regression plus another problem I noticed (frame properties not getting destroyed on frame destruction)
git-svn-id: svn://10.0.0.236/trunk@161116 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-22 07:10:50 +00:00
bryner%brianryner.com
0501b2872a Second try at landing support for content node properties (bug 253888). r=jst, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@161115 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-22 04:58:44 +00:00
roc+%cs.cmu.edu
d7e985e5cb Bug 253977 backout because of possible Tp regression on btek.
git-svn-id: svn://10.0.0.236/trunk@161114 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-22 03:50:59 +00:00
roc+%cs.cmu.edu
34b5eca02a Bug 253977. Fix a few columns-hurting block bugs. 1) Always drain overflow lines on any kind of block reflow. 2) Set NS_FRAME_REFLOW_NEXTINFLOW in the reflow status whenever reflow of the block's next-in-flow is required. 3) Search overflow lines when we're looking for frame continuations to delete. 4) Show overflow area in nsContainerFrame frame dump. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@161113 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-22 03:00:46 +00:00
bryner%brianryner.com
03c6a8279c Backing out bug 253888 until I can figure out how to fix the crash
git-svn-id: svn://10.0.0.236/trunk@161097 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-21 06:27:54 +00:00
bryner%brianryner.com
e49f4fa38e Refactor the frame property code and use it for supporting properties on dom elements. Bug 253888, r=jst, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@161096 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-21 05:09:50 +00:00
bzbarsky%mit.edu
d780829a69 Addendum to bug 253572 patch per dbaron's comment in the bug.
git-svn-id: svn://10.0.0.236/trunk@160644 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-11 00:17:54 +00:00
bzbarsky%mit.edu
420b97695b Make sure that GetFrameForPoint checks all layers of each float before moving
on to the next one.  Bug 253572, r+sr=roc


git-svn-id: svn://10.0.0.236/trunk@160632 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-10 22:24:00 +00:00
dbaron%dbaron.org
dda1e6cda9 Fix names of constants to correspond to the new definitions of the values of the 'overflow' property. b=69355 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@160586 18797224-902f-48f8-a5cc-f745e15eee43
2004-08-10 01:32:10 +00:00
bryner%brianryner.com
865734bf2f Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
git-svn-id: svn://10.0.0.236/trunk@160184 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-31 23:15:21 +00:00
bryner%brianryner.com
b17b3249f7 Consolidate PresContext classes into a single nsIPresContext implementation, and finish deCOMtaminating it. Bug 253470, r+sr=roc.
git-svn-id: svn://10.0.0.236/trunk@160067 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-29 19:41:39 +00:00
roc+%cs.cmu.edu
33f365524b Bug 253195. Fix a really nasty data corruption bug in nsBlockFrame::DoRemoveFrame, that only shows up when you need to delete inline continuations that are in a continuation of the current block --- probably doesn't happen today, but will happen with columns and page-layout editing. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@159919 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-27 18:22:14 +00:00
aaronleventhal%moonset.net
68db552d54 Bug 151375. Implement css2 outline (still called -moz-outline for now). Makes -moz-outline draw outside of the current frame. Improves appearance of focus outline. Lots of help from roc. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@159341 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-16 16:56:21 +00:00
aaronleventhal%moonset.net
aac51e9f0b Backing out bug 151375 for now, because of scrolling regressions in HTML and XUL listboxes and comboboxes
git-svn-id: svn://10.0.0.236/trunk@159268 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-15 18:57:47 +00:00
jim_nance%yahoo.com
b0e12359c6 Fix But #250105 - Add Arena for nsLineLayout buffers. r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@159260 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-15 17:50:34 +00:00
aaronleventhal%moonset.net
c361ea9f16 Bug 151375. Implement css2 outline (still called -moz-outline for now). Makes -moz-outline draw outside of the current frame. Improves appearance of focus outline. Lots of help from roc. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@159196 18797224-902f-48f8-a5cc-f745e15eee43
2004-07-14 21:58:34 +00:00
roc+%cs.cmu.edu
3f608a1e75 Bug 244017. Hack invalidation of block children of blocks to avoid answering the question of whether we're supposed to invalidate the difference in frame bounds or the difference in overflow areas. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@158572 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-29 12:46:46 +00:00
roc+%cs.cmu.edu
2027d59c0d Bug 185357. Collect out-of-flow frames for overflowing placeholders even if the placeholders are indirect (inline) children of the line. r+sr=dbaron
git-svn-id: svn://10.0.0.236/trunk@158527 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-27 02:01:06 +00:00
smontagu%smontagu.org
221c341396 Bug 140611: When a block element is first in RTL <LI>, bullet moves left. patch by Lina Kemmel lkemmel@il.ibm.com, r=smontagu, sr=dbaron.
git-svn-id: svn://10.0.0.236/trunk@158206 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-20 09:51:10 +00:00
aaronleventhal%moonset.net
0324f45a91 Fixing bustage
git-svn-id: svn://10.0.0.236/trunk@157411 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-04 21:08:05 +00:00
aaronleventhal%moonset.net
540e86edb5 Bug 242594. Expose list and list item objects, and bullet text. r=Louie.Zhao, sr=jst/dbaron
git-svn-id: svn://10.0.0.236/trunk@157409 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-04 19:28:36 +00:00
smontagu%smontagu.org
d1a1c12261 DeCOMtaminate nsIFrame Set/GetProperty and merge Set/GetBidiProperty with it. Bug 117751, r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@157214 18797224-902f-48f8-a5cc-f745e15eee43
2004-06-01 06:20:16 +00:00
dbaron%dbaron.org
b2ffb0b6b5 When we do two passes on an incremental reflow in order to update maximum width, do max-element-width calculation on the second pass too so that floats have their max-element-width cached for state recovery. b=217527 r+sr=roc
git-svn-id: svn://10.0.0.236/trunk@157181 18797224-902f-48f8-a5cc-f745e15eee43
2004-05-31 17:41:50 +00:00
roc+%cs.cmu.edu
c35d4c6753 Bug 230417. When a placeholder frame lands in a block's overflowList, put its out of flow frame in a new child list, overflowOutOfFlowsList
git-svn-id: svn://10.0.0.236/trunk@155964 18797224-902f-48f8-a5cc-f745e15eee43
2004-05-05 02:30:33 +00:00
dbaron%dbaron.org
39913966e5 Remove hacks no longer needed since text inputs became reflow roots (instead of using the IncrementalDamageConstrained hack. b=241833 r+sr=rbs
git-svn-id: svn://10.0.0.236/trunk@155945 18797224-902f-48f8-a5cc-f745e15eee43
2004-05-04 23:56:25 +00:00