Commit Graph

71 Commits

Author SHA1 Message Date
Mats Palmgren
9b54e9f489 Bug 842853 - Scroll position lost after page reload on url with anchor. r=roc 2013-03-05 13:26:41 +01:00
Nicholas Cameron
6edbdb7f5a Bug 780692; throttle OMTA (rollup patch). r=dbaron,bz 2012-12-12 10:12:43 +13:00
Robert O'Callahan
1fae521ad6 Bug 812517. Part 1: Add nsIScrollableFrame::ScrollToCSSPixelsApproximate. r=mats 2012-11-23 14:25:23 +13:00
Mats Palmgren
0d7bab3b90 Bug 804486 - Add toolkit.scrollbox.horizontalScrollDistance pref, default 5. Change horizontal scroll increment from 10px to horizontalScrollDistance * GetLineScrollAmount().width(). Make GetLineScrollAmount() use the font's AveCharWidth() for the horizontal amount rather than MaxHeight(). r=roc 2012-10-29 06:44:31 +01:00
Robert O'Callahan
6fed44f354 Bug 791616. Part 1: Add nsIScrollableFrame::GetPerceivedScrollingDirections to consolidate logic for whether UI actions should be allowed to scroll in a given direction. r=mats 2012-09-24 16:30:33 +12:00
Robert O'Callahan
4944baf992 Back out bug 791616 due to test failure. 2012-09-24 21:55:16 +12:00
Robert O'Callahan
248580e0eb Bug 791616. Part 1: Add nsIScrollableFrame::GetPerceivedScrollingDirections to consolidate logic for whether UI actions should be allowed to scroll in a given direction. r=mats 2012-09-24 16:30:33 +12:00
Robert O'Callahan
16334e2719 Bug 777194. Part 5: When choosing a subpixel position to scroll to, align the new position with the position that was most recently used to rerender the scrolled layer(s). r=tnikkel
If we always align the new scroll position with the previous scroll position, we can accumulate error and
gradually drift out of alignment with the layer pixels until we exceed the tolerance and are forced to
rerender everything.
2012-08-17 11:40:10 +12:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Robert O'Callahan
5298635880 Bug 383026. Centralize code that converts DOM scroll offsets to/from layout scroll positions. r=dbaron 2012-08-10 23:17:06 +12:00
David Zbarsky
c9632b07c6 [Bug 780439] Kill off the remains of nsIBox r=roc 2012-08-05 23:00:57 -04:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ryan VanderMeulen
4c71ae6d9a Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
202bd53a55 Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Kartikaya Gupta
620e3b38b1 Bug 705106 - Use the correct scroll port size when trying to scroll to an area. r=roc 2012-06-09 12:14:39 -04:00
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