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