Commit Graph

64 Commits

Author SHA1 Message Date
Robert O'Callahan
92273d000e 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
e368dc9c85 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
65cf9f8b41 Bug 383026. Centralize code that converts DOM scroll offsets to/from layout scroll positions. r=dbaron
--HG--
extra : rebase_source : a6118e0eeea749a601e055741e35cdcd15d81e57
2012-08-10 23:17:06 +12:00
David Zbarsky
b5d5ebe56a [Bug 780439] Kill off the remains of nsIBox r=roc 2012-08-05 23:00:57 -04:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ryan VanderMeulen
5f2a19ee6e Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
6d6c4efbab Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Kartikaya Gupta
c5b6bd059a 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
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Robert O'Callahan
fede4b2197 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
6f6b0b1b72 Bug 681192. Part 1: Add "allowed scroll destination range" to nsIScrollableFrame::ScrollTo and nsGfxScrollFrame implementation. r=roc,matspal
--HG--
extra : rebase_source : 51d04f7e7db35c02de3401a3481d4cc3827c19ec
2012-02-07 16:53:18 -08:00
Avi Halachmi (:avih)
5d73a5eeb8 Bug 737758: part 1: Propagate mouse wheel event origin from ESM [r=roc] 2012-03-26 11:50:30 +02:00
Jared Wein
bcbb16588c Bug 725700 - Keyboard arrow keys and scrollbar buttons should have consistent scrolling distances. 2012-02-20 11:24:36 -05:00
Michael Wu
d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Jan Küchler
c510bc3046 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Markus Stange
06e7adb9c1 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
3b653c5345 Bug 564991. Part 14: Scroll using the layer system. r=mats,sr=dbaron 2010-07-16 09:08:02 +12:00
Robert O'Callahan
15976008ca Bug 539331 - browser_sanitizeDialog.js is failing, r=matspal 2010-01-14 05:00:00 -08:00
Robert O'Callahan
0de717dfb6 Bug 526394. Part 31: Move scroll implementation into nsGfxScrollFrame. r=mats 2009-10-08 16:01:15 +13:00
Robert O'Callahan
e1cb17b65b Bug 526394. Part 28: Remove nsIScrollableFrame::GetScrollableView. r=mats 2009-09-16 12:11:40 +12:00
Robert O'Callahan
6a5cc88a0d 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
1035bd73ed 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
928ef7f116 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
d47e0f433b 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
4453cced60 Backed out changeset e2927bb26412 2009-08-26 14:49:18 -07:00
Zack Weinberg
64f6d4d0dd 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

--HG--
extra : rebase_source : ee672a17934227b408b83dc6b5cc4e4909652f72
2009-08-26 09:27:42 -07:00
Benjamin Smedberg
3498a5f86e 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
73a6fab34b 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
802d1a10c7 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
1b2252f6c6 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
roc+@cs.cmu.edu
0a70ba3e53 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
0e88f73bc6 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
bsmedberg%covad.net
78f6d0683d 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
49188025d3 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
3876d7f8c7 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
f67d250152 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
6255acffd9 Bug 254039. deCOMtaminate nsIScrollableFrame. r+sr=roc, patch by Will Levine 2004-09-06 02:44:43 +00:00
dbaron%dbaron.org
3827991ce7 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
cb5add0739 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
ee55fda1f1 Back out previous round of bug 72747 changes due to Tp regression. 2004-09-04 08:34:55 +00:00
dbaron%dbaron.org
fff31dd733 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
cc5c573459 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
9a61205ad8 Back out text input changes from bug 72747. 2004-09-04 03:17:18 +00:00
dbaron%dbaron.org
d2d8096ade 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
7dc30e0f2f Land bug 72747 in pieces: remove nsIScrollableFrame::GetScrollPreference. b=72747 r+sr=roc 2004-09-03 22:28:34 +00:00
dbaron%dbaron.org
77d25b92c6 Land bug 72747 in pieces: remove nsIScrollableFrame::GetScrollPreference. b=72747 r+sr=roc 2004-09-03 00:46:43 +00:00
dbaron%dbaron.org
c200b49750 Back out the rest of bug 72747 due to Tp regression. 2004-08-27 01:26:55 +00:00
dbaron%dbaron.org
5948a3cb75 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
5c02a6978c Change nsIPresContext to nsPresContext globally, follow-up to bug 253470. rs=roc 2004-07-31 23:15:21 +00:00
roc+%cs.cmu.edu
72e061457e 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