Commit Graph

358 Commits

Author SHA1 Message Date
Jonathan Kew
ccbd2d2564 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
6c3ead7ddf 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 2009-03-30 13:29:36 +13:00
Robert O'Callahan
d740a2d9a0 Bug 480053 - Fix z-ordering of scrollbars to match Webkit/IE8. r+sr=dbaron 2009-02-26 20:00:36 +13: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
Graeme McCutcheon
c9821478b9 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
5fbab281b5 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
40200dcf2e 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
f090606a7d 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
bee2844b64 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
8da13beda7 Bug 435293. Implement CSS transforms. r=dbaron,r+sr=roc 2008-09-13 21:42:11 +12:00
Taras Glek
c61f5f5c50 bug 450777:deCOMtaminate nsNodeInfoManager::GetNodeInfo r+sr=jst 2008-09-12 15:32:18 -07:00
Robert O'Callahan
e87222a463 Bug 376662. Make nsIFrame::GetOffsetTo not explicitly use views. r+sr=bzbarsky 2008-09-04 09:35:52 +12:00
Markus Stange
146a085da6 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
6d5f655957 Fix spelling mistakes (to trigger unit test cycle). 2008-07-18 22:32:50 -07:00
Robert O'Callahan
95216d475a 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
25a442153c 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
9f7f2d3c28 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
983863edf4 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
81fd20f5b1 Bug 425253. Propagate reflow-depth tracking through XUL box layout. r+sr=dbaron,a=damon 2008-04-09 21:39:41 -07:00
c2cb98a5be Backing out 413027 again. 2008-03-13 02:14:16 -07:00
e14548a656 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
1d4da23d20 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
4cb90e5ac4 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
0250bd87dd use of max(a,b) is confusing windows mobile compiler. b=419653, r=dbaron, a=beltzner 2008-02-26 17:51:57 -08:00
90ac13b9f3 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
4f2b4cd0b3 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
0fac930838 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
cfe95cccf7 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
4cb5209c6c 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
a1a8870827 Back out for now, until I have a chance to fix reftests depending on old behavior. 2008-02-19 09:28:00 -08:00
c3608b0309 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
7e0ba269bb 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
fb08c5d6ca Bug 392698, ASSERTION: can't mark frame dirty during reflow, r+sr=roc, a=blocking1.9 2007-12-20 15:49:46 -08:00
b6600faef0 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
73a6d6531c 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
2aaa6867c5 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
8dbffa67a5 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
309b902992 Backing out bug 375304 to fix reftest failures. 2007-12-01 03:49:13 -08:00
df633bd27a 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
06c9f32689 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
be11bb5b72 Bug 364801. nsHTMLScrollFrame::RemoveFrame needs to destroy the frame it removes. r+sr=mats 2007-11-18 14:24:21 -08:00
ee1aa7a195 Backing out bug 375304 because of reftest failure 2007-11-11 19:40:27 -08:00
76c9ee84e0 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
028ddb33b8 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
103f9cc50b Bug 397852: ASSERTION: Doing nscoord addition with values > nscoord_MAX r=roc sr=roc a=roc 2007-10-01 09:43:02 -07:00
14624611fd 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
d0829b5bfc 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
cbfb45bce0 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