Commit Graph

190 Commits

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