Zack Weinberg
d47e0f433b
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
Boris Zbarsky
811394b5da
Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron
2009-07-30 13:23:32 -04:00
Boris Zbarsky
1ef12b64a7
Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc
2009-07-28 08:53:20 -04:00
Boris Zbarsky
cf7d0b6141
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
f20778f925
Bug 78070. When the root element is removed, remove all frames except the viewport; when it's reinserted, recreate them as needed. r=roc,dbaron sr=roc
2009-05-11 22:04:58 -04:00
L. David Baron
8949a9fadd
Stop reflowing the viewport with constrained height. (Bug 467881) r+sr=roc
2009-01-29 12:39:22 -08:00
Benjamin Smedberg
3498a5f86e
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
73a6fab34b
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
802d1a10c7
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
Daniel Holbert
f4db7fac7a
Trivial whitespace cleanup in 2 places in nsViewportFrame.cpp. (whitespace only; cleared in #developers)
2008-10-29 17:41:56 -07:00
Robert O'Callahan
775dd33c74
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
Robert O'Callahan
311213e939
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
Robert O'Callahan
36e333a796
Backing out changesets 75919d3eb3d0 and 14ce7619e9c1 due to test failures
2008-09-07 00:35:20 +12:00
Robert O'Callahan
c2ca6a7204
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
dbaron@dbaron.org
f7a428516e
Don't let the pres context's visible area get permanently set to an unconstrained height when we call ResizeReflow with an unconstrained height during SizeToContent. b=371508 r+sr=roc a=blocking1.9+
2008-03-12 15:04:45 -07:00
fantasai.cvs@inkedblade.net
c5bd5dcc84
fix use of DEBUG-only data member, bug=154892 r+sr+a=roc
2007-10-02 01:29:23 -07:00
fantasai.cvs@inkedblade.net
404e205908
paginate absolutely-positioned elements, b=154892 r+sr=roc a=roc
2007-10-01 22:57:45 -07:00
jwalden@mit.edu
bf1a450729
Bug 386801 - nsAbsoluteContainingBlock doesn't need to store a child list name; this shaves four bytes off nsViewportFrame, nsBlockFrame, and nsPositionedInlineFrame. r+sr+a=dbaron
2007-08-02 15:44:36 -07:00
bzbarsky@mit.edu
9c59e9e4cc
Introduce a setter for nsHTMLReflowState::mComputedHeight so that we're sure to
...
update the resize flags properly. Bug 388084, r+sr+a=dbaron
2007-08-02 11:08:05 -07:00
roc+@cs.cmu.edu
a28eeaaafd
Bug 379349. Add support for 'overflow containers' --- special frame continuations that do not map any content of their own, but serve only as containers for laying out children that overflowed their parents' content height. patch by fantasai, r+sr=eli,roc
2007-07-25 21:03:29 -07:00
bzbarsky@mit.edu
1b5f6b30b6
Change the FrameNeedsReflow API to pass the dirty flags to be added directly tothe method, instead of setting them before calling the method. That way we canavoid reflowing the ancestor of a reflow root which is not itself dirty but hasdirty children. This also makes it harder to set dirty bits inconsistentlywith the FrameNeedsReflow call. Bug 378784, r+sr=dbaron, pending rbs' reviewon the mathml parts.
2007-05-06 12:16:51 -07:00
sharparrow1%yahoo.com
4862938c93
Bug 370379: Create views less frequently. Stops creating views for -moz-hidden-unscrollable, opacity, fixed backgrounds, and scrollbars, plus removes some unneeded methods from views and view managers. r+sr=roc.
2007-02-24 00:23:42 +00:00
cvshook%sicking.cc
a39ff30284
Kill remainders of ns(XBL|HTML|XUL|Layout)Atoms. r/sr=jst b=368128
2007-01-30 00:06:41 +00:00
bzbarsky%mit.edu
baec9bd166
Make mComputedWidth private, with a getter/setter, and make the setter update
...
the resize flags. Bug 367442, r+sr=dbaron
2007-01-26 00:05:12 +00:00
dbaron%dbaron.org
c88c6e09b4
Reflow reflow roots and the child of SVG foreignObject with an unconstrained height to avoid triggering page/column breaking. b=366956 r+sr=roc
2007-01-25 02:01:07 +00:00
dbaron%dbaron.org
f6245f0ed9
Change the bulk of ascent (baseline) computation to happen on a virtual method on nsIFrame, and remove the redundant descent member from nsHTMLReflowMetrics, primarily to support having both first-line and last-line baselines. b=367332 r+sr=roc
2007-01-23 04:06:56 +00:00
timeless%mozdev.org
4e651390ef
Bug 355300 There should be only one nsGkAtoms creature
...
r=dbaron
2006-12-26 17:47:52 +00:00
dbaron%dbaron.org
31f1898810
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
roc+%cs.cmu.edu
597d8bc582
Bug 339889. Propagate invalidation through the frame hierarchy to topmost widgets. r+sr=bzbarsky
2006-06-08 01:11:43 +00:00
roc+%cs.cmu.edu
d9cf8d8bf8
Bug 335140. Set 'force descend into' bit on frames and then leave it set until we're done with the display list ... then we can be sure of descending to frames whose container is not an ancestor of the placeholder. r=mrbkap
2006-04-27 02:45:03 +00:00
roc+%cs.cmu.edu
a7f03736a9
Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc
2006-04-10 00:16:29 +00:00
dbaron%dbaron.org
0e88f73bc6
Single line comments to describe files (helpful in LXR)
2006-03-29 18:29:03 +00:00
roc+%cs.cmu.edu
0a10a79f62
Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc
2006-03-26 21:30:36 +00:00
pavlov%pavlov.net
131e8794e2
backing out roc's patch for bug 328926 due to crash running tests on vc8 machines.
2006-03-15 06:43:36 +00:00
roc+%cs.cmu.edu
557b089a47
Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc
2006-03-15 03:14:02 +00:00
roc+%cs.cmu.edu
3325e08a88
Bug 78087. Propagate the canvas background to be the background of the entire viewport so it z-orders correctly in the viewport's stacking context. r+sr=dbaron
2006-02-05 20:55:47 +00:00
roc+%cs.cmu.edu
9acb9492ec
Bug 78087. Propagate the canvas background to be the background of the entire viewport so it z-orders correctly in the viewport's stacking context. r+sr=dbaron
2006-02-05 20:52:13 +00:00
roc+%cs.cmu.edu
77bca74243
Bug 317375. Reorganize frame painting and mouse event targeting around frame display lists. Some review from dbaron, lots of testing help from Martijn, Julien and others
2006-01-26 02:29:17 +00:00
roc+%cs.cmu.edu
520b30a7f7
Bug 313817. DeCOMtaminate more NS_New*Frame functions. r+sr=roc, patch by Marc Liddell
2005-11-04 02:38:33 +00:00
roc+%cs.cmu.edu
fed343c43a
Bug 108310. Make GetFrameForPoint take frame-relative coordinates, not bogus relative-to-some-view-or-other, and simplify the signature. r+sr=roc, patch by Eli Friedman.
2005-09-19 02:15:54 +00:00
bzbarsky%mit.edu
54d585f2af
Remove prescontext args for some nsIFrame methods
...
(Append/Insert/Remove/ReplaceFrames) and for some methods in table land. Patch
by Vidar Braut Haarr <bugmail@q1n.org>, r+sr=bzbarsky
2005-02-07 01:58:25 +00:00
neil%parkwaycc.co.uk
74e2aa375a
Bug 276100 GetOriginToView has unused PresContext argument p=bugmail@q1n.org r+sr=dbaron
2005-01-01 17:26:29 +00:00
roc+%cs.cmu.edu
fbb67978a5
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)
2004-11-14 20:22:58 +00:00
bryner%brianryner.com
5c02a6978c
Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc
2004-07-31 23:15:21 +00:00
gerv%gerv.net
708b56cff4
Bug 236613: change to MPL/LGPL/GPL tri-license.
2004-04-18 14:30:37 +00:00
dbaron%dbaron.org
41c16857c2
DeCOMify nsIFrame::IsPercentageBase and rename to IsContainingBlock. b=237169 r+sr=bzbarsky a=brendan
2004-03-12 04:40:17 +00:00
roc+%cs.cmu.edu
8397ac8d8f
Bug 235264. Clean up invalidation to go through a single nsIFrame::Invalidate function and take account of 'outline' where necessary. r+sr=dbaron
2004-03-10 03:09:05 +00:00
roc+%cs.cmu.edu
3bfe589ac4
Bug 210269. Reduce use of SetAttr during reflow. Also, fix up the API that gets the scrollbar dimensions of a scrollframe to always work right for RTL. r+sr=bryner
2004-01-09 19:21:20 +00:00
roc+%cs.cmu.edu
e7f165c614
Bug 190735. deCOMtaminate nsIFrame::FirstChild and nsIFrame::GetAdditionalChildListName. r+sr=bz
2004-01-09 14:20:53 +00:00
uid502
d81619b4fa
Bug 190735. DeCOMtaminate nsIFrame::GetFrameType. r+sr=bzbarsky
2003-10-31 20:19:18 +00:00
bzbarsky%mit.edu
15546957e4
Reflow main content before reflowing fixed-pos frames so that the placeholders
...
are in the right places. Bug 90270 and dependencies. r+sr=roc+moz
2003-02-22 20:13:12 +00:00
dbaron%dbaron.org
6dd68f3c64
Remove nsISizeOfHandler and associated SizeOf methods. b=106792 r=bzbarsky sr=jst
2003-02-22 15:34:38 +00:00
bzbarsky%mit.edu
468001d914
Remove leftover reflow reason hack in fixed-pos reflow. Bug 192291,
...
r+sr=dbaron, a=asa
2003-02-13 19:10:50 +00:00
karnaze%netscape.com
452b8a6153
bug 179683 - implement printing of fixed positioned elemements, clean up ViewportFrame. sr=roc, r=bzbarsky.
2003-01-20 18:04:34 +00:00
dbaron%dbaron.org
57124d8115
Replace computation of max-element-size (height and width) with max-element-width alone, since the max-element-height is practically unused and not meaningful for layout. b=186953 r+sr=bzbarsky
2003-01-09 14:26:32 +00:00
bzbarsky%mit.edu
ff14aa1c72
Fix crash if a site overrides one of our "magic" rules. Make some of the rules
...
!important, make nsViewportFrame a containing block no matter what the CSS
says. Bug 181692, r=karnaze, sr=dbaron
2002-11-25 23:40:58 +00:00
roc+%cs.cmu.edu
9702292275
Bug 171802. Make sure views are initialized with the right properties! r=dbaron,sr=kin
2002-10-01 21:45:33 +00:00
karnaze%netscape.com
1faf4c0592
bug 145305 - split floaters during printing. sr=attinasi, r=alexsavulov.
2002-05-28 22:50:43 +00:00
jst%netscape.com
1075a3f80d
Fixing bug 146034. Getting rid of nsHTMLIIDs.{h,cpp}. r=jfrancis@netscape.com, sr=rpotts@netscape.com
2002-05-23 00:00:34 +00:00
bzbarsky%mit.edu
2daed17185
Fix positioning of fixed and absolute positioned blocks with auto left
...
or top. Bug 126213, r=dbaron, sr=attinasi
2002-05-17 00:05:27 +00:00
bzbarsky%mit.edu
59519ed7b6
Make incremental reflow of fixed-position tables happier. Bug 94009,
...
r=dbaron, sr=attinasi
2002-05-14 01:44:00 +00:00
waterson%netscape.com
e3554c37cc
Bug 129115. Change the reflow path from a list structure to a tree structure to amortize state recovery and damage propagation costs. Eliminate table timeout reflows. r=kin,karnaze,rods,rbs; sr=attinasi
2002-05-10 18:22:41 +00:00
bzbarsky%mit.edu
9ffb53af67
Account for scrollbar in incremental reflow of fixed-pos elements. Bug
...
130002, r=dbaron, sr=attinasi, a=roc+moz
2002-03-12 15:29:33 +00:00
waterson%netscape.com
854831c91c
Bug 115113. Eliminate nsIReflowCommand, and just use nsHTMLReflowCommand directly. r=karnaze, sr=attinasi.
2001-12-17 22:39:59 +00:00
karnaze%netscape.com
748ebbcd0d
bug 113424 - mechanism for percent height frames inside table cells to receive special height reflow. sr=attinasi, r=alexsavulov
2001-12-07 14:51:12 +00:00
karnaze%netscape.com
436e1ac49e
bug 103925 (2nd patch) - flag pixel rounding errors in display reflow debugging. sr=attinasi, r=bernd
2001-11-14 13:40:03 +00:00
bzbarsky%mit.edu
f2ee8260a0
Use NS_LITERAL_STRING instead of NS_ConvertASCIItoUCS2 where possible
...
(i.e. where the string is a literal). Bug 104159, r=jag, sr=alecf
2001-11-14 01:33:42 +00:00
attinasi%netscape.com
94f3ab9a20
Elimiate calls to nsFrame::Invalidate when the dirtyRect is empty. Also, removed some invalid code from nsFrame::Invalidate and added DEBUG check to catch later offenders. b=103266 r=rbs sr=hyatt
2001-11-06 01:44:20 +00:00
karnaze%netscape.com
e38dff73f8
bug 103925 - general reflow debugging capability. sr=attinasi, r=alexsavulov
2001-10-29 01:43:59 +00:00
gerv%gerv.net
4e12e44b2f
Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089.
2001-09-28 20:14:13 +00:00
dbaron%fas.harvard.edu
3c55d5d6f3
Make fixed positioning code check for NS_AUTOOFFSET to fix positioning of auto-sized fixed positioned elements relative to bottom or right. b=98579 r=waterson sr=attinasi
2001-09-17 23:55:58 +00:00
waterson%netscape.com
48483431d2
Bug 55086. Change nsContainerFrame::PositionFrameView() to position child views. Eliminate the |aView| parameter from that method, because the view can be retrieved from the frame and need not be done by the caller. Eliminate the NS_FRAME_NO_MOVE_CHILD_VIEWS flag, which was read-only; i.e., never set by anyone. r=dbaron, sr=attinasi
2001-09-05 20:27:19 +00:00
roc+%cs.cmu.edu
cd5282bccd
Fix calculation of scrollbar widths for laying out fixed-position frames. Also make sure that the fixed frames are reflowed if scrollbar widths change. Fix for bug 5195. r=evaughan,sr=attinasi
2001-04-17 01:45:38 +00:00
rods%netscape.com
edb0c6270c
removing most all NS_DEFINE_IID and replacing them with NS_GET_IID macros
...
Bug 61274, r=buster sr=waterson
2001-01-04 20:44:42 +00:00
rods%netscape.com
21de9f3e8a
Add ifdef'ed Performance Reflow Counting code
2000-04-21 14:59:47 +00:00
dbaron%fas.harvard.edu
87e19c9cef
Fix event targetting bugs by using paint layers in GetFrameForPoint, testing for visibility, and trying GetFrameForPoint on additional views if one fails. r=joki@netscape.com(, hyatt@netscape.com) b=12232,20051,21304,24474,26785, and remaining issues from 23161.
2000-03-22 02:43:08 +00:00
troy%netscape.com
4f7d1e3f2a
b=24343 r=karnaze@netscape.com Changes so we properly lay out after changing
...
the font using the pref UI. Block and table code changed to handle
eReflowReason_StyleChange
2000-03-15 15:16:03 +00:00
troy%netscape.com
8a78d916a5
b=21657 a=chofmann@netscape.com Made "overflow list" a full fledged
...
child list and changed ReparentFrameView() to check it.
2000-01-22 01:16:50 +00:00
troy%netscape.com
85012ab550
Change to how overflow is handled for absolutely positioned elements.
...
We no longer use nsIAraeFrame and now it's folded into the overflow
area in the reflow metrics
1999-12-06 15:49:53 +00:00
hyatt%netscape.com
de2eaede42
Implementing a generalized recycler and arena for all layout frames. Hoping to improve
...
bug #9489 . Should also definitely fix bug #15916 . r=troy
1999-12-04 23:49:50 +00:00
tbogard%aol.net
af1ce8d410
Changed nsIPresContext& to nsIPresContext*. Changed nsEventStatus& to nsEventStatus*. Now more compatible with XPIDL. a=vidur r=scc
1999-11-24 06:03:41 +00:00
troy%netscape.com
0e0d40fa91
b=19374. Restored some code I unintentionaly removed in previous checkin.
...
Now after Reflow() of child frame "kidRect.width" and "kidRect.height" are
updated
1999-11-19 22:04:01 +00:00
troy%netscape.com
597b5f236b
WillReflow/DidReflow changes and changes to the way view positioning
...
and sizing works
1999-11-19 15:33:29 +00:00
dmose%mozilla.org
5312eacf8c
updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org
1999-11-06 03:40:37 +00:00
troy%netscape.com
1585a751fb
Moved a bunch of stuff out to a nsIFrameDebug interface
1999-11-01 22:12:45 +00:00
troy%netscape.com
a12c3d6c5d
Folded reflow functions into nsIFrame and eliminated nsIFrameReflow and
...
nsIHTMLReflow. This saves 4 bytes per frame and cleans things up
1999-10-30 02:52:11 +00:00
troy%netscape.com
87afecabc0
Changed SetView/GetView to take an additional argument which is the
...
pres context
1999-10-26 04:44:41 +00:00
danm%netscape.com
e68f60f671
implemented intrinsic sizing method on DOM Window
1999-09-03 22:41:56 +00:00
kipp%netscape.com
7fe2679e86
Updated SizeOf methods to not waste space when doing a non-debug build
1999-09-01 01:02:16 +00:00
kipp%netscape.com
f808fbb193
Reimplemented SizeOf methods in some of the frame classes; partial rework of first-line handling snapshot
1999-08-31 03:09:40 +00:00
troy%netscape.com
05fb1d7f25
Changed root frame class over to new reflow command handling
1999-07-27 14:15:42 +00:00
troy%netscape.com
7ffa0d8a63
Moved code that repaints after a resize or initial reflow to the viewport
1999-07-24 15:18:24 +00:00
troy%netscape.com
38a6357a79
Changed to use the new reflow command handling
1999-07-24 03:59:47 +00:00
troy%netscape.com
7a5e4dbdb5
Renamed some nsFrameList member functions
1999-07-22 04:00:57 +00:00
troy%netscape.com
c551fe3166
Renamed DeleteFrame() to Destroy()
1999-07-22 02:24:52 +00:00
troy%netscape.com
c3e32b0b65
Added 'm' prefix to a couple more data members of nsHTMLReflowState struct
1999-07-20 03:51:46 +00:00
troy%netscape.com
155ed6816a
Added 'm' prefix to some of the nsHTMLReflowState data members
1999-07-20 03:41:03 +00:00
hyatt%netscape.com
73b08a974d
Checking in support for intrinsic sizing of chrome.
1999-07-04 04:09:54 +00:00
kipp%netscape.com
4846f41f1f
Reworked frame factory methods; fixed bug 4519
1999-05-11 22:03:29 +00:00
troy%netscape.com
6247024d47
Eliminated some code that's no longer needed now that the info is in the
...
HTML reflow state
1999-03-06 01:48:28 +00:00