Commit Graph

352 Commits

Author SHA1 Message Date
Ed Morley
7212749e9b Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
L. David Baron
8f6b47c556 Make scroll frames (i.e., overflow != visible) no longer be font size inflation flow roots. This reverts part of 9499f6b28addcbcd9c480eb80cfe6c4c63a4a3a1. (Bug 747720, patch 7) r=roc
This means that font size inflation will be consistent into a container
with overflow!=visible, which fixes inflation bugs on phoronix.com (bug
747720) and reddit.com (bug 748446, but currently covered up by bug
756518).
2012-05-20 22:18:28 -07: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
Robert O'Callahan
bc32280787 Bug 681192. Part 12: more fixes to remove unnecessary rounding to pixels. r=matspal 2012-05-10 17:24:20 +12:00
Robert O'Callahan
cc1f820b59 Bug 681192. Part 8: Use a generous allowed range when scrolling in CurPosAttributeChanged. r=matspal
There was a subtle reftest failure on Mac in RTL text-overflow tests.
I tracked it down to RTL overflow:auto areas being automatically scrolled by a subpixel amount.
This was because we try to set scrollbar "curpos" attributes to an integer number of CSS pixels representing
the scroll amount, relative to the top-left of GetScrolledRect, which is a noninteger number of CSS pixels
in this case. Then in ReflowFinished() we scroll to the saved curpos values plus the top-left of GetScrolledRect.
This patch fixes the problem by making CurPosAttributeChanged pass an allowed scroll range to
ScrollToWithOrigin. We allow any scroll destination that, when rounded to CSS pixels, would give the same
value as "curpos".
This fixes the bug, ensuring that ReflowFinished's call to CurPosAttributeChanged will not normally need
to scroll because the current position will be in the acceptable range. Also, it means that code that
scrolls by setting the "curpos" attribute will be optimized to try to hit a layer pixel boundary.
2012-05-10 17:24:19 +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
24477dd798 Bug 702463 - Smooth scrolling should use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Timothy Nikkel
50718d4ff5 Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-24 13:52:35 -05:00
Joe Drew
0d48edf486 Backout 492d12fa8b65 (bug 732016) for regressions. a=regression 2012-04-23 11:13:33 -07:00
Timothy Nikkel
99bc437145 Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-19 20:54:54 -05:00
L. David Baron
464614b05f Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text.  Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous.  Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Jared Wein
49fcf34aaa Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
Avi Halachmi (:avih)
6e661de248 Bug 702463: Smooth scroll - Use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Jared Wein
7d9acae364 Backed out changeset 4e515b6a5a41 (bug 702463) 2012-04-03 16:22:49 -07:00
Avi Halachmi (:avih)
9f75302ff4 Bug 702463: Part 1 v8 - Smooth scroll - Use refresh observer instead of a timer 2012-03-31 16:08:00 +03:00
Avi Halachmi (:avih)
20d62264a1 Bug 737758: part 3: Cleanups and semantic consistency [r=roc] 2012-03-26 11:53:45 +02: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
Avi Halachmi
98c32cb6ba Bug 206438 - Smooth scrolling should use the 'smoothwheel' algorithm. r=roc ui-r=limi 2012-03-11 13:55:00 -07:00
Chris Lord
92b6f0f506 Bug 726817 - Add nsIFrameLoaderOwner.clampScrollPosition. r=roc
Add an attribute to nsIFrameLoaderOwner that allows the clamping of set scroll
positions to be toggled.
2012-02-17 23:41:13 +00:00
Timothy Nikkel
c8303c81b8 Bug 675015. Wait until scrolling is complete to dispatch synthetic mouse moves. r=roc 2012-01-18 22:13:02 -06:00
Benjamin Stover
a38eb5067f Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Mats Palmgren
8fe75b1c1b Bug 515530 - Remove nsHTMLContainerFrame. r=roc 2011-12-27 21:18:48 +01:00
Markus Stange
da1e45ec81 Bug 636564 - Make scroll frames deal correctly with scrollbars that overlay content. r=roc 2011-12-20 13:30:14 +01:00
Robert O'Callahan
3b84648234 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-12-06 01:38:46 +13:00
Brad Lassey
8a11bb9295 Bug 687972 - backing out changesets b17ab862bbc1 and a6db0c6c94a3 r=orange 2011-11-30 22:59:00 -05:00
Robert O'Callahan
0531ca8c29 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-11-30 21:14:26 -05:00
Robert O'Callahan
5371090a4f Bug 681867. text-overflow only needs to affect the scrolling behavior of the block container with text-overflow. r=mats 2011-10-21 14:41:36 +13:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04: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
Mats Palmgren
4e2a044a66 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Ed Morley
6e443492c7 Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Boris Zbarsky
68f710c38c Bug 654989 part 1. Allow handing out both an nsIContent and an nsStyleContext from CreateAnonymousContent. r=roc 2011-05-06 16:04:44 -04: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
c7266b6d40 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now 2011-04-06 21:59:25 -07:00
L. David Baron
7a3dbc1145 Merge layout work from projects/birch, part 1. a=bsmedberg 2011-03-23 12:36:08 -07:00
L. David Baron
f5eecf1ee5 Fix nsXULScrollFrame parameter names that are named incorrectly and fix inconsistencies between .h and .cpp. (Bug 636307) r=ehsan 2011-03-03 13:18:42 -08:00
Benjamin Stover
04d277e98e Bug 618975 Followup: bitrot and remove mDisplayport from nsDisplayScrollLayer r=cjones r=tn a=blocking-fennec 2011-03-09 13:35:27 -08:00
Simon Montagu
3a96e2b6d4 Set the position of the childRect in nsXULScrollFrame::LayoutScrollArea before calling Layout. Bug 632379, r=dbaron, a=blocker 2011-02-13 08:38:29 +02:00
Simon Montagu
b5d9e07d88 Bug 508816 - layout patch 2011-02-07 09:59:20 +02:00
Neil Deakin
91312c46cf Bug 489303, show resizer when statusbar is hidden, r=roc,gavin a=blocking 2011-01-17 09:35:32 -05:00
Robert O'Callahan
74ff2d8ea8 Bug 602892. Part 2: Ensure that a scrollframe is 'inactive' if it can't be scrolled by blitting. r=tnikkel,a=blocking 2011-01-04 21:46:59 +13:00
Robert O'Callahan
01b561c89c Bug 602892. Part 1: Refactor so that mScrollingActive is always true for scrollframes that are always active. r=tnikkel,a=blocking 2011-01-04 21:46:56 +13:00
Gavin Sharp
f00bef160c Back out 0ab0603bea99 (bug 489303) due to suspected Txul regression, a=backout 2010-12-25 14:55:35 -05:00
Neil Deakin
52538fc2e0 Bug 489303 - No resizer since the statusbar is gone, r=gavin+roc, a=b 2010-12-21 13:19:00 -08:00
Vivien Nicolas
bde562840d Bug 461843 - Show indication of where on the page you are when scrolling with Fennec. r=roc a=blocking-fennec 2010-10-21 14:07:55 +02:00
Alexander Surkov
94787926a7 Bug 604386 - Prune placeholder from text children, r=davidb, sr=bz, a=blocking 2010-10-16 00:34:35 +09:00
Timothy Nikkel
6e32b6087b Bug 599113. Part 2. Remove unused parameter to nsGfxScrollFrameInner::ScrollVisual. r=roc 2010-10-14 20:03:45 -05:00
L. David Baron
1b5c052280 Reduce the border-radius of elements with overflow != visible so that any present scrollbars are not clipped. (Bug 459144, patch 8) r=roc a2.0=blocking:beta6+ 2010-09-07 15:20:35 -07:00
Robert O'Callahan
bd646df1cc Bug 564991. Part 22: Mark scrolled elements as inactive after a timeout. r=mats 2010-07-16 09:08:05 +12:00