Commit Graph

156 Commits

Author SHA1 Message Date
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Robert O'Callahan
336cf2ae5e Bug 754556. Ensure that setting scroll positions in CSS pixels doesn't unexpectedly move the scroll position, especially not in the wrong direction. r=matspal
If the current scroll position is fractional, e.g. y=N.4 CSS pixels, and something tries to read the
position in CSS pixels and scroll to that position (e.g. calling window.scrollTo(0, rootElem.scrollTop),
or equivalently window.scrollBy(0, 0)), it can actually end up scrolling backwards. So create a new
method nsIScrollableFrame::ScrollToCSSPixels which ensures that scrolling to a CSS pixel offset tries to
preserve the current fractional scroll position if that's possible, and if that's not possible at least does
not allow the scroll position to move in the wrong direction.
2012-05-15 17:58:09 +12:00
Oleg Romashin
907dbf27a1 Bug 681192. Part 1: Add "allowed scroll destination range" to nsIScrollableFrame::ScrollTo and nsGfxScrollFrame implementation. r=roc,matspal 2012-02-07 16:53:18 -08:00
Avi Halachmi (:avih)
fb4d322ea9 Bug 737758: part 1: Propagate mouse wheel event origin from ESM [r=roc] 2012-03-26 11:50:30 +02:00
Jared Wein
1be1dd9c2e Bug 725700 - Keyboard arrow keys and scrollbar buttons should have consistent scrolling distances. 2012-02-20 11:24:36 -05:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Jan Küchler
8774547613 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>. 2011-04-07 18:04:40 -07:00
Markus Stange
f7a77d8de7 Bug 607464 - Don't use smooth scrolling for pixel scrolling. r=roc, a=roc 2011-02-04 09:00:06 +01:00
Robert O'Callahan
f235f5c301 Bug 564991. Part 14: Scroll using the layer system. r=mats,sr=dbaron 2010-07-16 09:08:02 +12:00
Robert O'Callahan
1500f77fe1 Bug 539331 - browser_sanitizeDialog.js is failing, r=matspal 2010-01-14 05:00:00 -08:00
Robert O'Callahan
491dea3f30 Bug 526394. Part 31: Move scroll implementation into nsGfxScrollFrame. r=mats 2009-10-08 16:01:15 +13:00
Robert O'Callahan
078e5c7a5a Bug 526394. Part 28: Remove nsIScrollableFrame::GetScrollableView. r=mats 2009-09-16 12:11:40 +12:00
Robert O'Callahan
bf6153988a 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
6077d2214a Bug 526394. Part 3: Add all necessary new APIs to nsIScrollableFrame. r=mats,sr=dbaron 2009-09-01 16:11:11 +12:00
Roy Frostig
eb80c5f781 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
Zack Weinberg
b6fe8205dd 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
Robert O'Callahan
64679553d1 Backed out changeset e2927bb26412 2009-08-26 14:49:18 -07:00
Zack Weinberg
1aef973199 Bug 497495 part 3a: rationalize the queryframe-implementation macro naming scheme, restructure the implementation to detect duplicate entries, and a couple fixes to the frame ID enumeration. r=dbaron sr=roc
Bug 497495 part 3b: update users of queryframe macros (strictly mechanical change). r=dbaron
2009-08-26 09:27:42 -07: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
Markus Stange
615b3a4ee1 Bug 462793 - Changing listbox selection with keyboard no longer scrolls to make the newly selected item visible, r+sr=roc 2008-11-04 15:38:16 +01: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
dbaron@dbaron.org
60eede3c11 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
bsmedberg@covad.net
fb56b42204 Bug 313309 part 2 - change the NS_DEFINE_STATIC_IID_ACCESSOR macro to NS_DECLARE, and make a NS_DEFINE_ macro that's outside the class declaration, r=shaver 2005-11-11 14:36:26 +00:00
roc+@cs.cmu.edu
4849bee778 Bug 307158. Half-heartedly account for vertical scrollbar presence when positioning absolute children relative to the right edge of a scrollable container. r+sr=dbaron with regrets. 2005-10-18 05:00:24 +00:00
roc+@cs.cmu.edu
5e9d260c1a Bug 296315. Remove unimplemented nsIScrollableView::GetScrollbarVisibility, implement nsDocShell::GetScrollbarVisibiilty to use nsIScrollableFrame::GetActualScrollbarSizes, which actually works. r+sr=bzbarsky,a=asa 2005-06-17 02:48:29 +00:00
bryner@brianryner.com
f447d12b9e Unify box and frame trees by moving nsIBox methods onto nsIFrame. XUL-box frames can call the superclass nsBox implementation, all other frames get the nsFrame implementation of the box methods, which acts like nsBoxToBlockAdaptor used to. Bug 258513, r+sr=roc. 2004-09-28 18:37:50 +00:00
roc+@cs.cmu.edu
4b8c28dfbf Bug 254039. deCOMtaminate nsIScrollableFrame. r+sr=roc, patch by Will Levine 2004-09-06 02:44:43 +00:00
dbaron@dbaron.org
9921526bf4 Land bug 72747 in pieces: Implement overflow-x and overflow-y. b=72747 r+sr=roc 2004-09-05 00:04:04 +00:00
dbaron@dbaron.org
5cbd3fe51f Land bug 72747 in pieces: Implement scrolling='yes' (and equivalents) on frames and iframes. b=72747 r+sr=roc 2004-09-04 23:03:04 +00:00
dbaron@dbaron.org
fd73f4f5e2 Back out previous round of bug 72747 changes due to Tp regression. 2004-09-04 08:34:55 +00:00
dbaron@dbaron.org
a404328e84 Land bug 72747 in pieces: Add default constructor for ScrollbarStyles. b=72747 r+sr=roc 2004-09-04 07:35:12 +00:00
dbaron@dbaron.org
b0e63b37fb Land bug 72747 in pieces: Change types on ScrollbarStyles from PRInt32 to PRUint8. b=72747 r+sr=roc 2004-09-04 07:02:46 +00:00
dbaron@dbaron.org
bfa6395a10 Back out text input changes from bug 72747. 2004-09-04 03:17:18 +00:00
dbaron@dbaron.org
4d376fe5af Land bug 72747 in pieces: use CSS instead of C++ to ensure single line text inputs don't have scrollbars. b=72747 r+sr=roc 2004-09-03 23:22:15 +00:00
dbaron@dbaron.org
4f220bb3b1 Land bug 72747 in pieces: remove nsIScrollableFrame::GetScrollPreference. b=72747 r+sr=roc 2004-09-03 22:28:34 +00:00
dbaron@dbaron.org
a1d7dd0c95 Land bug 72747 in pieces: remove nsIScrollableFrame::GetScrollPreference. b=72747 r+sr=roc 2004-09-03 00:46:43 +00:00
dbaron@dbaron.org
2cdc552cce Back out the rest of bug 72747 due to Tp regression. 2004-08-27 01:26:55 +00:00
dbaron@dbaron.org
f2ad5967af Implement 'overflow-x' and 'overflow-y' CSS properties, long implemented by IE for Windows and proposed for CSS3. Implement scrolling='yes' and equivalents on frame and iframe. Various pieces of related cleanup (see comment 22 in bug). b=72747 r+sr=roc 2004-08-26 17:11:20 +00:00
bryner@brianryner.com
6cde4639f0 Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
roc+@cs.cmu.edu
038bba5645 Bug 217120. Always make an attempt to scroll to history position after restoring scroll position in EndLoad, just in case no reflows happen again. r+sr=dbaron 2004-07-23 21:39:47 +00:00
roc+@cs.cmu.edu
378c0067de Bug 240276. Fork nsGfxScrollFrame into nsHTMLScrollFrame and nsXULScrollFrame. No behaviour is changed yet. r+sr=dbaron 2004-06-18 02:08:19 +00:00
roc+@cs.cmu.edu
4465887121 Bug 240276. Trim fat from nsGfxScrollFrame, move functionality into nsGfxScrollFrameInner so that when we fork nsGfxScrollFrame, it will be shared 2004-05-05 02:32:27 +00:00
gerv@gerv.net
a1ec040a65 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
roc+@cs.cmu.edu
2eb7bac340 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
160abb70f0 Bug 201300. Get rid of document observer from nsGfxScrollFrame. r+sr=bz 2003-04-09 11:27:09 +00:00
roc+@cs.cmu.edu
7143d14503 Bug 126263. Whack comboboxes/listboxes to use Gfx scrollbars. Also, make scrollbars attach their XBL content only when they become visible, to avoid pageload hit. r+sr=dbaron 2003-04-08 20:50:57 +00:00
caillon@returnzero.com
e162f81386 comment fixes r+sr=bzbarsky 2003-01-22 08:01:37 +00:00
gerv@gerv.net
58d409fba9 Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00