Boris Zbarsky
58cddca1c7
Bug 683952. Speed up iterating over the continuations of the frame when scrolling to it. r=roc
2011-09-06 22:57:46 -04:00
Simon Montagu
1f18554f1f
Make all nsBidiPresUtils methods static. Bug 624798, r=roc
2011-04-13 12:23:49 +03:00
Craig Topper
712ccf8d76
Bug 654369 - Part 9: Remove OOM checks from layout/generic r=bz
2011-04-28 22:02:16 -07:00
Simon Montagu
b5f2348b59
Back out bug 263359 and bug 624798 because of performance regressions (bug 650189)
2011-04-27 11:47:18 +03:00
Daniel Holbert
7b15e64f57
Bug 651229: Remove unused variable from nsLineBox. r=smontagu
2011-04-21 10:08:05 -07:00
Robert O'Callahan
3bb8bad7c2
Bug 641426. Part 5: Avoid operator== where possible to distinguish between 'equal edges' and 'equal areas' for rectangles. r=dbaron,sr=cjones
2011-04-19 15:07:23 +12:00
Simon Montagu
d03542b94f
Make all nsBidiPresUtils methods static. Bug 624798, r=roc
2011-04-13 12:23:49 +03:00
L. David Baron
0a3226e10a
Make nsLineBox track two separate overflow areas. (Bug 542595, patch 6) r=roc a2.0=blocking2.0:beta8
2010-10-06 21:25:45 -07:00
Ehren Metcalfe
97778d4898
Bug 556446: Remove dead code in layout. r=roc,bz
2010-04-03 07:36:19 -04:00
fantasai
f76a01be55
Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc
2009-12-24 00:21:15 -05:00
fantasai
9e51dfaf9b
Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc
2009-12-24 00:20:41 -05:00
Boris Zbarsky
c8db27a7ab
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
Timothy Nikkel
edd85a40ae
Bug 514634. Remove unneeded second call to SetNextSibling, add some assertions, and fix a comment. r=fantasai
2009-09-11 10:26:30 +12:00
fantasai
138ed48e37
Bug 492627 - Remove Placeholder Continuations [Part V: Reimplement float splitting without placeholder continuations] r=roc
2009-08-31 11:25:36 -07:00
fantasai
70fe082226
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
Zack Weinberg
18f8b8b129
Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap
2009-08-20 14:52:48 -07:00
Zack Weinberg
1bc6a7615f
Bug 497495 (frame poisoning) part 2: Introduce nsIPresShell::AllocateMisc/FreeMisc functions; add an as-yet-unused "code" parameter to AllocateFrame/FreeFrame; fix up nsFrame to match; use AllocateMisc/FreeMisc for all non-frame pres arena objects; move clearing of frame objects from nsFrame::operator new to AllocateFrame. r=roc sr=dbaron
2009-08-17 20:21:06 -07:00
L. David Baron
0f20b4f0a6
Make lines with only a bullet take up height. (Bug 179596 / Bug 507187) r=roc
2009-08-10 19:48:42 -07:00
fantasai
0c4b41f686
Bug 499377 - Store float region on frame r+sr=roc
2009-07-14 22:19:31 -07:00
Boris Zbarsky
72d0ddff71
Bug 491415. Need to initialize this member so we don't report bogus ascents. r+sr=roc
2009-05-05 01:01:47 -04:00
Benjamin Smedberg
0f95227641
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.
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
7a084ac404
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
991a16d8bc
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
L. David Baron
7c32f841de
Replace space manager with a more limited float manager. (Bug 191448) r+sr=roc
2009-01-04 19:39:54 -05:00
Benjamin Smedberg
f2c9a5bafb
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
30915057bb
Backed out changeset d4c9a0776667 (deCOM nsILineEnumerator) due to regression from it or bug 461212
2008-10-28 02:49:14 -04:00
Benjamin Smedberg
f0a65beeac
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
0e992d0a5c
Bug 411870. nsBidiPresUtils needs to track the current line across block continuation boundaries. r=smontagu
2008-01-29 15:39:39 -08:00
8c07f99bf2
Bug 411870 backout again
2008-01-28 11:10:26 -08:00
7069971a0a
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
9409e73aa0
backing out 411870
2008-01-27 22:28:31 -08:00
88fa1d00cc
Bug 411870. Make bidi resolution track lines across block continuation boundaries. r=smontagu
2008-01-27 21:07:14 -08:00
e144c2310d
[DEBUG-only] Print a warning if we find a null float in the float cache. b=387651 r+sr=roc
2007-07-22 06:37:36 -07:00
c8c8f9e544
Fix printf format-specifier and args mismatch to prevent potential DEBUG-only crashes. bug 388358, r+sr=roc
2007-07-16 15:26:53 -07:00
98de634631
Bug 348748 - Replace all instances of NS_STATIC_CAST and friends with C++ casts (and simultaneously bitrot nearly every patch in existence). r=bsmedberg on the script that did this. Tune in next time for Macro Wars: Episode II: Attack on the LL_* Macros.
2007-07-08 00:08:04 -07:00
76b5240bee
Bug 383551. Clean up IsInlineFrame, nsStyleDisplay::IsBlockLevel and related methods. r+sr=dbaron
2007-06-26 19:31:35 -07:00
0490a58e96
Bug 381385: get rid of unneeded members of nsFloatCache (saves about 50 bytes footprint per float). r+sr=roc.
2007-06-16 13:27:46 -07:00
e0f90db412
Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc.
2007-03-30 14:11:41 -07:00
cvshook@sicking.cc
e80f1dba4e
Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128
2007-01-30 00:06:41 +00:00
dbaron@dbaron.org
d21cb374bd
Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213.
2006-12-08 05:38:33 +00:00
mats.palmgren@bredband.net
115fd200a3
Leave the placeholder's pointer to the out-of-flow intact because the float cache depends on it later on. b=348688 r=bzbarsky sr=roc
2006-08-17 13:15:26 +00:00
uriber@gmail.com
d2643031f8
Handle returning nulls from CheckLineOrder correctly. bug=345616 r=smotagu sr=roc
2006-08-04 05:40:57 +00:00
gavin@gavinsharp.com
270d2fc3fc
Bug 342479: fix compiler warning @ nsFloatCacheList::RemoveAndReturnPrev in nsLineBox.cpp, patch by Ryan VanderMeulen <ryanvm@gmail.com>, r+sr=roc
2006-07-24 18:57:42 +00:00
cvshook@sicking.cc
de453923d9
Bug 344050: Kill nsITextContent and move the methods to nsIContent. r/sr=jst
2006-07-19 04:36:36 +00:00
roc+@cs.cmu.edu
001442f28d
Bug 342322. It's OK for mNext to be non-null when we remove an element. r+sr=dbaron
2006-07-13 08:15:31 +00:00
uriber@gmail.com
261a300837
Always use the visual iterator when moving visually in a bidi page, even if the current line or adjacent lines are LTR. bug=309432 r=smontagu sr=roc
2006-07-12 11:22:18 +00:00
roc+@cs.cmu.edu
4186b95e02
relanding fix for bug 317278 :-(
2006-06-29 01:19:48 +00:00
roc+@cs.cmu.edu
ae8b9b80de
Bug 237085. Move string subdivision code to gfx so we can efficiently make it metrics-dependent. r=smontagu,sr=rbs
2006-06-26 22:18:23 +00:00
roc+@cs.cmu.edu
82d39021c1
Bug 317278. Reland patch that reflows lines again if we detect some already-placed floats need to move to the next line. This time, with changes to nsSpaceManager's PushState/PopState infrastructure so that dynamic allocations are never required; the saved state is always stack-allocated by callers. r+sr=dbaron
2006-06-19 23:06:59 +00:00
roc+@cs.cmu.edu
ce045a290e
Backing out patch for 317278 due to Tp regression
2006-06-19 01:29:07 +00:00