Commit Graph

126 Commits

Author SHA1 Message Date
Zack Weinberg
17eb5a6efc 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
Zack Weinberg
2cd31f70f9 Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap 2009-08-20 14:52:48 -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
5fefb45a48 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Robert O'Callahan
520e8ceae9 Bug 505743. Fix nsHTMLScrollFrame::InvalidateInternal to not take the 'invalidation in scrollbar' path when there is no scrollbar. r=dbaron
--HG--
extra : rebase_source : 8709cdba8ea6f9776b61ff935c1c850573caff3a
2009-07-27 09:29:01 +12:00
Robert O'Callahan
274e556b1d Bug 505667. Don't need to check INVALIDATE_NOTIFY_ONLY in nsHTMLScrollFrame::InvalidateInternal. r=dbaron
--HG--
extra : rebase_source : fa04db29e722a9aea7aaf54c783d07c432d79cad
2009-07-27 09:27:54 +12:00
Robert O'Callahan
5fa812e479 Bug 352093. Part 15: Rework scrolling so that we don't need a dedicated native widget for scrollframes. r=dbaron,joshmoz,karlt,jmathies 2009-07-22 12:45:13 +12:00
Robert O'Callahan
41b0dc9d84 Bug 339548. Part 9: Create nsRootPresContext::UpdatePluginGeometry, and use it. Make nsObjectFrame manage its widget directly. 2009-07-22 12:45:00 +12:00
Robert O'Callahan
b47de0a11e Bug 500632. Suppress invalidation caused by parts inside collapsed scrollbars. r=dbaron 2009-07-22 12:44:49 +12:00
Boris Zbarsky
4f8205dfe2 Bug 478465. Don't clobber our NS_FRAME_IN_REFLOW flag by scrolling. r+sr=roc 2009-06-23 21:35:00 -04:00
Robert O'Callahan
430c7bf0dc Bug 492837. If a scrollframe's reflow is interrupted, don't clamp the scroll position to the new size. r=bzbarsky
--HG--
extra : rebase_source : f0def3a670f208e5894cdbd650d395d991441c34
2009-06-12 13:46:33 +12: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
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
Robert O'Callahan
49ff0034cc Bug 485030. Don't restrict BuildDisplayList's dirty rect to a child's overflow area; then we can use the passed-in dirty rect to optimize the 'ignore scroll frame' case. r=dbaron
--HG--
extra : rebase_source : a0c489c3b33ccaf762293da7537d909f85d88782
2009-03-30 13:29:36 +13:00
Robert O'Callahan
12706db074 Bug 480053 - Fix z-ordering of scrollbars to match Webkit/IE8. r+sr=dbaron 2009-02-26 20:00:36 +13: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
Graeme McCutcheon
4d0acd8eae Bug 345339. Make nsPresState not use a hashtable in favor of using less memory and only storing the things it really wants to store. Switch box objects to their own hashtable. r+sr=roc 2008-12-12 14:25:22 -05:00
Markus Stange
05944a7f56 Partial backout of changeset cfc553938038 (bug 463042) in order to fix bug 468167, "Deleting selected top of document (from below) no longer scrolls what remains into view". 2008-12-07 11:19:47 +01:00
Markus Stange
76daa5a7da Bug 463042 - Smooth scrolling isn't working with the scrollbar or the keyboard arrows, r+sr=roc 2008-12-02 14:18:08 +01:00
Taras Glek
390adbe464 bug 455536: s/NS_ERROR_FAILURE/NS_ERROR_OOM/ outparamdelled nsNodeInfoManager::GetNodeInfo r+sr=jsr 2008-09-25 15:46:52 -07: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
Keith Schwarz
dc907e1ec7 Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
Taras Glek
c26ce8e1ab bug 450777:deCOMtaminate nsNodeInfoManager::GetNodeInfo r+sr=jst 2008-09-12 15:32:18 -07:00
Robert O'Callahan
1eeada5faa Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Markus Stange
45788e2145 Bug 56488 - Down scroll arrow hidden, draws behind resize widget when neither Status Bar nor horizontal scrollbar are displayed. r+sr=roc. 2008-08-08 18:11:54 +02:00
L. David Baron
c26a7caa30 Fix spelling mistakes (to trigger unit test cycle). 2008-07-18 22:32:50 -07:00
Robert O'Callahan
bf853288c9 Bug 444690. Scrollframes should call the superclass InvalidateInternal so that generic invalidation hooks work. r+sr=dbaron 2008-07-14 10:21:11 +12:00
Robert O'Callahan
042de9c4e3 Bug 367246. When the scrolled frame's width exceeds its available width (because its padding alone is greater than the available width) and the direction is RTL, the scrolled frame should be positioned with its right edge at the right edge of the scrollport. r+sr=dbaron 2008-07-14 09:50:35 +12:00
roc+@cs.cmu.edu
f08441cfbe Bug 430412. Don't bother showing a scrollbar if there's less than one device pixel to scroll into view. r+sr=bzbarsky,a=beltzner 2008-04-24 01:14:06 -07:00
jst@mozilla.org
54ae1d2978 Landing fix for bug 419716. Make us consistently deal how we're pass param tags to object tags when parsing XHTML. Patch by mrbkap@gmail.com and bent.mozilla@gmail.com, r+sr=jonas@sicking.cc, a=beltzner 2008-04-17 15:30:51 -07:00
roc+@cs.cmu.edu
1bfe348601 Bug 425253. Propagate reflow-depth tracking through XUL box layout. r+sr=dbaron,a=damon 2008-04-09 21:39:41 -07:00
roc+@cs.cmu.edu
a5d01c093e Backing out 413027 again. 2008-03-13 02:14:16 -07:00
roc+@cs.cmu.edu
69064e9603 Bug 413027. The XUL pref and min height for a CSS block should be its height when reflowed at its preferred width, NOT the height of the tallest line. r+sr=dbaron. Relanding with additional XUL box layout fix to increase the frame size to the minimum size required by children even if they don't change size during layout, and a fix to scrollframes so they don't depend on being able to set a size for scrollbars less than their minimum size. r+sr=dbaron 2008-03-13 01:40:43 -07:00
roc+@cs.cmu.edu
76c8339f01 Bug 405952. Add scrollbar width to pref and min widths for overflow:scroll elements but for no other overflow values. r+sr=bzbarsky,dbaron,dholbert, a=beltzner 2008-02-28 12:37:06 -08:00
roc+@cs.cmu.edu
705c2058b7 Bug 416168. Ensure that the overflow rect for a frame always includes (0,0) even if the frame rect is empty. Also ensures that if the frame rect is empty but has non-zero dimension on one axis, the overflow rect includes that size. A scrolled view for such a frame also includes that size to ensure width:0,height:Npx and width:Npx,height:0 frames are scrollable by that amount. r+sr=dbaron 2008-02-27 01:46:22 -08:00
dougt@meer.net
47947ce309 use of max(a,b) is confusing windows mobile compiler. b=419653, r=dbaron, a=beltzner 2008-02-26 17:51:57 -08:00
roc+@cs.cmu.edu
ac43fde6ea Bug 416752. Use the scrollbar min-height/min-width to establish the minimum scrollport size, not the pref-height/pref-width. r+sr=dbaron 2008-02-24 17:21:08 -08:00
reed@reedloden.com
b7eaeb04c9 Bug 383267 - "When fontHeight is very large, pagescroll height(pageincrement value) is too small" [p=masa141421356@gmail.com (Masahiro Yamada) r+sr=roc a1.9=beltzner] 2008-02-23 23:35:08 -08:00
roc+@cs.cmu.edu
ef81289627 Bug 407095. Reflow in more situations where horizontal scrollbar appears or disappears. May hurt Tp, let's watch. r+sr=dbaron,a=damon 2008-02-23 02:15:59 -08:00
dbaron@dbaron.org
fb9e7d706d Expose GetBodyContent and use it to avoid performance hit of nsIDOMHTMLDocument::GetBody. b=331530 r+sr=sicking a=schrep 2008-02-19 10:47:34 -08:00
dbaron@dbaron.org
f4d4f9cc2b Treat backgrounds on body the same in XHTML as for HTML. b=379461 r+sr=bzbarsky a=schrep 2008-02-19 10:46:21 -08:00
dbaron@dbaron.org
b4df875a18 Back out for now, until I have a chance to fix reftests depending on old behavior. 2008-02-19 09:28:00 -08:00
dbaron@dbaron.org
36854cf843 Expose GetBodyContent and use it to avoid performance hit of nsIDOMHTMLDocument::GetBody. b=331530 r+sr=sicking a=schrep 2008-02-19 08:48:09 -08:00
dbaron@dbaron.org
929891e58f Treat backgrounds on body the same in XHTML as for HTML. b=379461 r+sr=bzbarsky a=schrep 2008-02-19 08:46:29 -08:00
Olli.Pettay@helsinki.fi
88b19c4b16 Bug 392698, ASSERTION: can't mark frame dirty during reflow, r+sr=roc, a=blocking1.9 2007-12-20 15:49:46 -08:00
roc+@cs.cmu.edu
c43f5b8d12 Bug 407009. In the last-ditch reflow of a scrollframe, only show the scrollbars which are not styled 'hidden'. r+sr=dbaron 2007-12-11 18:28:50 -08:00
roc+@cs.cmu.edu
21900626e0 Bug 407015. Dropdown listboxes should not propagate computed height from the scrollframe to its scrolled content. r+sr=dbaron 2007-12-06 16:10:31 -08:00
roc+@cs.cmu.edu
a05edceefa Bug 375304. Make nsHTMLScrollFrame handle situations where the child content height depends on our height. patch by Eli Friedman, r+sr=roc,dbaron 2007-12-04 19:05:57 -08:00
dholbert@cs.stanford.edu
108776476e Bug 402567: make scrollframe GetMinWidth return the scrolled frame's min-width. r+sr=dbaron a=blocking1.9 2007-12-04 14:03:16 -08:00
roc+@cs.cmu.edu
cc4171d53e Backing out bug 375304 to fix reftest failures. 2007-12-01 03:49:13 -08:00
roc+@cs.cmu.edu
ff06dbce58 Bug 375304. Fix absolute positioning where the abs-pos container is scrollable and has a height constrained by min-height etc. Patch by Eli Friedman, r+sr=roc 2007-12-01 02:38:09 -08:00
reed@reedloden.com
98141f6d9e Bug 395628 - ""ASSERTION: post-reflow queues not empty" with feed in <frame>" [p=mats.palmgren@bredband.net (Mats Palmgren) r=smaug r+sr=dbaron a=blocking1.9+] 2007-11-30 23:22:44 -08:00
roc+@cs.cmu.edu
548f806233 Bug 364801. nsHTMLScrollFrame::RemoveFrame needs to destroy the frame it removes. r+sr=mats 2007-11-18 14:24:21 -08:00
roc+@cs.cmu.edu
e0ac0a1bc3 Backing out bug 375304 because of reftest failure 2007-11-11 19:40:27 -08:00
roc+@cs.cmu.edu
4da3232491 Bug 375304. Fix absolute positioning for scrolled abs-pos containers with weird height constraints. patch by Eli Friedman, r+sr=roc 2007-11-11 18:19:35 -08:00
Olli.Pettay@helsinki.fi
0ca7e4f915 Bug 397641, AsyncScrollPortEvent posted even if overflow/underflow event won't be dispatched r=mats+roc, sr=mats, a=roc 2007-10-08 01:42:43 -07:00
dholbert@cs.stanford.edu
5d63a7fdb3 Bug 397852: ASSERTION: Doing nscoord addition with values > nscoord_MAX r=roc sr=roc a=roc 2007-10-01 09:43:02 -07:00
roc+@cs.cmu.edu
f0ac729ebf Bug 139843. Back out width adjustment patch that breaks other things and may no longer be needed. r+sr+a=dbaron 2007-09-17 19:54:48 -07:00
bzbarsky@mit.edu
295ac223f1 Make sure to process style updates before reflow, and both before painting. Bug 375436, r+sr=roc, a=dbaron 2007-08-21 19:57:06 -07:00
bzbarsky@mit.edu
d807a3f46e Don't add a dirty bit that shouldn't be needed. Bug 387209, r+sr=roc, a=dbaron 2007-08-10 13:08:10 -07:00
bzbarsky@mit.edu
21e0d65a42 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
sharparrow1@yahoo.com
c3cd7e1d31 Bug 384876: Padding gets added at both sides when overflow is used. 2007-07-20 11:35:20 -07:00
jwalden@mit.edu
e3c4baccae 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
sharparrow1@yahoo.com
d4a50fcc87 Bug 381645: Remove nsBoxFrame::GetContentOf. r+sr=dbaron. 2007-05-22 20:48:43 -07:00
sharparrow1@yahoo.com
888cd6828d Bug 381621: Get rid of nsBoxFrame::AddRef/Release, plus a few misc cleanups. r+sr=dbaron. 2007-05-22 13:34:00 -07:00
bzbarsky@mit.edu
3cb4bc9240 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
bzbarsky@mit.edu
e83c55e645 Make InitialReflow just post a reflow event instead of doing a synchronousreflow. Bug 378975, r=dbaron and Eli Friedman, sr=dbaron 2007-05-01 10:15:08 -07:00
bzbarsky@mit.edu
24c328d268 Fix the vertical scrollbar guessing in nsHTMLScrollFrame to do better for aninitial reflow if we're doing that initial reflow a ways into the documentload. Bug 378480, r+sr=roc 2007-04-25 19:29:21 -07:00
Olli.Pettay@helsinki.fi
3dcecf2a6e Bug 374090, Crash [@ nsGfxScrollFrameInner::GetScrollPortSize] with noframes and setting binding on root element, r+sr=roc 2007-04-13 07:07:40 -07:00
bzbarsky@mit.edu
2fd17c94d8 Rename nsIFrame::GetPresContext to nsIFrame::PresContext. Bug 376042, patch byTaras Glek <tglek@mozilla.com>, rs=roc. 2007-03-30 14:11:41 -07:00
sharparrow1@yahoo.com
b087c08cc6 Bug 373474: Scrollbar buttons don't get invalidated (i.e. for notification box or resizing). r+sr=roc. 2007-03-27 23:24:40 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00