Commit Graph

156 Commits

Author SHA1 Message Date
Boris Zbarsky
58827ef725 Bug 550882. Make sure to create scrollbars for the viewport even if it's currently overflow:hidden, since various changes to <body> and the like can change the propagated overflow. r=roc 2010-03-08 19:30:02 -05:00
Alexander Surkov
be2b5e3966 Bug 534527 - Accessibility needs new DOM API part 2, r=smaug, sr=bz 2010-02-20 16:52:50 -08:00
L. David Baron
7cae68056e Fix spelling of 'horizontal' to cause another round of builds (and talos runs). CLOSED TREE 2010-02-17 10:43:39 -05:00
Alexander Surkov
73e251f02b Bug 534527 - Accessibility needs new DOM API, r=olli.pettay, sr=roc 2010-02-12 01:34:01 +08:00
Makoto Kato
256f2577f8 Bug 182954 - Content should use the newer nsIPrefService APIs instead of nsIPref. r=jst 2010-02-08 11:49:18 +09:00
Timothy Nikkel
375930c3f5 Bug 488771. Stop nsIScrollPositionListener from inheriting from nsISupports. r=roc
--HG--
extra : rebase_source : bb93c56b3347bc8df7fd843f08e2d5dfc4f3071b
2010-01-28 18:03:42 -06:00
Timothy Nikkel
876990d359 Bug 540247. If we change the size of the scrolled frame for a XUL scroll make sure to invalidate the changed area. r=roc
--HG--
extra : rebase_source : 81bf0e8490ec47249e7cb9a868652ff5317a5424
2010-01-27 22:12:42 -06:00
L. David Baron
8b216807b8 Make scrolling work inside iframe inside transformed svg:foreignObject by using GetCrossDocParentFrame for loop in check for whether we can blit. (Bug 403443) r=roc 2010-01-26 12:39:02 -08:00
Mats Palmgren
fa91c35561 Null-check the root pres context result. Unregister the plugin frame earlier, at Stop instead of Destroy time. b=521426 r=roc 2010-01-26 14:10:12 +01:00
Robert O'Callahan
f737648d27 Bug 539331 - browser_sanitizeDialog.js is failing part 2, r=matspal 2010-01-13 04:57:00 -08:00
Robert O'Callahan
6787212ae4 Bug 539331 - browser_sanitizeDialog.js is failing, r=matspal 2010-01-14 05:00:00 -08:00
Robert O'Callahan
7d5ddf93b2 Bug 539226. Ensure that when a scrollbar is added or removed the invalidation is not swallowed by the code that suppresses invalidation of hidden scrollbars. r=mats 2010-01-14 15:30:06 +13:00
Robert O'Callahan
9e07c024bc Backed out changeset a3af8424d938 2010-01-14 15:29:05 +13:00
Robert O'Callahan
c0402ee315 Bug 539331 - browser_sanitizeDialog.js is failing [r=mats] 2010-01-13 04:57:00 -08:00
Robert O'Callahan
8d3cbbd5d2 Bug 526394. Part 35: Prevent event dispatch and script execution during UpdateViewAfterScroll, even in the presence of malign Win32 reentrant APIs. r=mats 2010-01-12 10:45:20 +13:00
Robert O'Callahan
e845917d4e Bug 526394. Part 31.5: Cleanup ScrolledAreaEvent stuff to be simpler. In particular we don't need to store the scrolled area, we can just compute it when we fire the event. r=mats 2010-01-12 10:45:19 +13:00
Robert O'Callahan
04a613495c Bug 526394. Part 31: Move scroll implementation into nsGfxScrollFrame. r=mats 2009-10-08 16:01:15 +13:00
Robert O'Callahan
a8cbf01d74 Bug 526394. Part 30: Change the scroll state in nsPresState to a point. r=mats 2010-01-12 10:45:18 +13:00
Robert O'Callahan
5326dfa81a Bug 526394. Part 19: Remove view paramters from nsIScrollPositionListener. r=mats 2009-09-09 17:40:01 +12:00
Robert O'Callahan
a923083da5 Bug 526394. Part 18: Remove nsIScrollableViewProvider and its implementations, now that we've removed all its users. r=mats 2009-09-09 17:40:01 +12:00
Robert O'Callahan
3c94fecdb3 Bug 526394. Part 3: Add all necessary new APIs to nsIScrollableFrame. r=mats,sr=dbaron 2009-09-01 16:11:11 +12:00
Boris Zbarsky
b3883855ac Bug 500882 part 5. Switch layout module to using the new GetPrimaryFrame API. r=roc 2009-12-24 16:20:06 -05:00
fantasai
1ffb0c06ef Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
L. David Baron
e6705a9c6d Call CheckInvalidateSizeChange for nsHTMLScrollFrames. (Bug 438537) r=roc 2009-12-13 19:40:55 -08:00
Roy Frostig
fb0534737b Fire MozScrolledAreaChanged from nsDocShell::RestoreFromHistory() in case document root scroll frame isn't reflowed by the restore. r=roc 2009-10-25 00:04:18 -07:00
Markus Stange
926ee3ccfa Bug 494301 - Scrollbar not resized on pill button click. r=roc 2009-10-05 15:14:38 +13:00
Robert O'Callahan
20bb54d1d3 Bug 508908. Disable windowed plugins in popup windows, since they don't work. r=dbaron
--HG--
extra : rebase_source : 1acfac3d3613d332586fade393f2911552bd03e0
2009-09-30 08:18:20 +10:00
Roy Frostig
049a9fbdc8 Bug 514732. Issue a DOM event for document resizing. r=smaug sr=roc 2009-09-11 16:13:56 -07:00
Robert O'Callahan
6de615de1b 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
948203eb7d Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX. b=512106 r=roc 2009-09-16 17:01:36 +02:00
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