Граф коммитов

170 Коммитов

Автор SHA1 Сообщение Дата
Robert O'Callahan 2f81729760 Bug 592131. Don't propagate invalidations across document boundaries where the child document's docshell is inactive (e.g., a hidden tab). r=tnikkel,a=blocking
--HG--
extra : rebase_source : 468f5fab9b2a50f515d50e147fb79bdb8d6a845c
2010-08-31 17:02:08 +12:00
Timothy Nikkel 855ecf0e9a Bug 579663. Part 4. If the viewport frame has a container layer then we need to invalidate it too. r=roc 2010-08-08 13:49:06 -05:00
Boris Zbarsky 9e848ad2db Bug 582037. When computing intrinsic widths, take the viewport's dimensions into account when it has percent-height descendants. r=dbaron 2010-08-05 17:59:36 -04:00
Timothy Nikkel 20d255fcc2 Bug 563878. Part 15. Fix GetOffsetTo callsites. r=mats 2010-07-18 21:23:48 -05:00
fantasai 3027a2127b Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
Robert O'Callahan 1da8163981 Bug 510110. Extend MozAfterPaint event to contain list of PaintRequest objects with information about individual invalidations. r=dbaron,sr=jst
--HG--
extra : rebase_source : 0e8b9f424d50c2d9e346f7ff15834202a6c101d1
2009-09-04 16:49:18 +12:00
Mats Palmgren c3fb633256 Bug 233463, patch 3 - Make Destroy/RemoveFrame() methods void and assert that the frame to remove is present. r=bzbarsky 2009-09-18 13:09:36 +02:00
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