Commit Graph

301 Commits

Author SHA1 Message Date
Chris Lord
76541685fe Bug 753742 - Force layer build on scroll frames with a displayport. r=tn
Force building layers for all scroll frames that have a displayport set.
This fixes gfx/layers/ipc/CompositorParent mistakenly using FrameMetrics from
incorrect frames, due to the root scroll frame not having a layer.
2012-05-17 19:19:07 +01:00
Nicholas Cameron
b9c7de3bfd Bug 755078 - Disable mask layers on Android. r=roc 2012-05-17 10:30:10 +12:00
Robert O'Callahan
91cae0fac8 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
cc4c60522a Bug 681192. Part 12: more fixes to remove unnecessary rounding to pixels. r=matspal
--HG--
extra : rebase_source : 39f2c0ef3220b3f0d4f6bc2564a86daa2112dc3b
2012-05-10 17:24:20 +12:00
Robert O'Callahan
28e494af4f Bug 681192. Part 11: Don't snap scrollrange endpoints to device pixels anymore. r=matspal
--HG--
extra : rebase_source : a4ad5072fbb1a9e1e8d0fcf31268fee8812be41e
2012-05-10 17:24:20 +12:00
Robert O'Callahan
41b38a3c31 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.

--HG--
extra : rebase_source : 3a768883feee4ff2b88fe3c729ea1058e911f2ea
2012-05-10 17:24:19 +12:00
Oleg Romashin
5120270d4b Bug 681192. Part 2: Make nsIScrollableFrame::ScrollBy automatically set a generous allowed destination range. r=roc
--HG--
extra : rebase_source : 392359b325ca0435031e8f31a47154a82943c2b4
2012-02-07 12:20:57 -08:00
Oleg Romashin
14a398fcf0 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
Timothy Nikkel
6ffee527c4 Bug 749425. Push the scroll frame clip inside the scroll layer so it gets transformed by the shadow transform. r=roc 2012-05-08 23:15:00 -04:00
Ms2ger
de7c676373 Bug 716439 - Followup: remove unused variable 'sf'; r=roc 2012-05-05 11:00:06 +02:00
Nicholas Cameron
a387d019ba Bug 716439; remove a check for rounded rects to enable the use of mask layers. r=roc 2012-02-08 11:26:46 +13:00
Avi Halachmi
968bd575ff Bug 702463 - Smooth scrolling should use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Timothy Nikkel
5fce132cd1 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
59b12ae642 Backout 492d12fa8b65 (bug 732016) for regressions. a=regression
--HG--
extra : rebase_source : cda0401baa2c3e5f6192f76c1cd25eca8187a9a0
2012-04-23 11:13:33 -07:00
Timothy Nikkel
be2da87d6f Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-19 20:54:54 -05:00
Wes Johnston
41d4502cda Bug 745936 - Display port should not override dirtyRect during hit detection r=roc 2012-04-17 08:08:29 -04:00
L. David Baron
8c67e2ae8b 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
Mark Capella
1a44f1208f Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Jared Wein
777fbc3a41 Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
Avi Halachmi (:avih)
03341a5710 Bug 702463: Smooth scroll - Use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Jared Wein
9ea5fa75f8 Backed out changeset 4e515b6a5a41 (bug 702463) 2012-04-03 16:22:49 -07:00
Avi Halachmi (:avih)
ae12e0480f 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)
aebd5ca0c6 Bug 737758: part 3: Cleanups and semantic consistency [r=roc] 2012-03-26 11:53:45 +02:00
Avi Halachmi (:avih)
8a2de1a907 Bug 737758: part 1: Propagate mouse wheel event origin from ESM [r=roc] 2012-03-26 11:50:30 +02:00
Jonathan Watt
51053d52ea Bug 379709 - Avoid reflowing SVG twice during page load due to initially assuming we'll need space for a vertical scrollbar when the nsSVGOuterSVGFrame can tell us we won't. r=bz. 2012-03-19 08:34:19 +00:00
Ali Juma
62fb2dc162 Bug 725095 - Address Layout review comments. r=mats 2012-03-13 12:57:31 -04:00
Benoit Girard
188ca471f6 Merge mc->Maple 2012-03-13 11:05:28 -04:00
Avi Halachmi
3c59129fb9 Bug 206438 - Smooth scrolling should use the 'smoothwheel' algorithm. r=roc ui-r=limi 2012-03-11 13:55:00 -07:00
Benoit Girard
6345ad9c43 Restore merge changeset 39a3044823b0, regression fixed upstream in mc 2012-03-05 13:09:05 -05:00
Benoit Girard
02e577f6ff Backed out changeset 39a3044823b0 because of bad interaction with maple. 2012-03-02 18:32:46 -05:00
Benoit Girard
72da51e037 Merge mc->Maple, resolved conflicts 2012-03-02 14:27:05 -05:00
Doug Turner
63f2081ca1 Merge with mozilla-central 2012-02-24 11:57:27 -08:00
Doug Turner
476b362925 merge with mozilla-central: 2012-02-22 09:30:09 -08:00
Rob Campbell
eb749cad65 merge fx-team to m-c 2012-02-22 12:47:22 -04:00
Ali Juma
926f982ccc Only try to scroll scrollable layers, and force Gecko to generate a scrollable layer even for smaller pages. 2012-02-20 11:30:05 -05:00
Chris Lord
cfb5872a5b 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
Chris Lord
93986b5c67 Backout scroll-clamp stuff again
I hope this makes it easier to merge and I'm not just wasting time...
2012-02-19 09:26:52 +00:00
Brad Lassey
34aa551009 merge from mozilla-central 2012-02-18 17:29:33 -05:00
Chris Lord
c436bcb3c1 Bug 726817 - Add nsIFrameLoaderOwner.clampScrollPosition. r=
Add an attribute to nsIFrameLoaderOwner that allows the clamping of set scroll
positions to be toggled.
2012-02-17 23:41:13 +00:00
Chris Lord
b7a97d4f18 Backout 87134:1c1c22bd0291 and 87135:a4af71f1bc1f
Realised I made a mistake with the nsIFrameLoaderOwner.clampScrollPosition
patch and I want this to go in as a single commit and not break building of
Maple.
2012-02-18 00:46:23 +00:00
Chris Lord
02fd6d6c24 Bug 726817 - Add nsIFrameLoaderOwner.clampScrollPosition. r=
Add an attribute to nsIFrameLoaderOwner that allows the clamping of set scroll
positions to be toggled.

--HG--
extra : rebase_source : db24645ff2fb04bb0ffa5ffb01a8d35a79274126
2012-02-17 23:41:13 +00:00
Alexander Surkov
b34485ff9f Bug 677154 - fix a typo 2012-02-18 02:51:29 +09:00
Alexander Surkov
b79d3bc706 Bug 677154 - Detached document accessibility tree, r=bz, marcoz 2012-02-18 02:38:43 +09:00
Ed Morley
ef395cb269 Merge mozilla-central to mozilla-inbound 2012-02-23 01:03:16 +00:00
Mats Palmgren
4ac8d2dffb Bug 726258 - Don't suppress the scrollbar because of a too small size in the scollbar minor direction. r=bz 2012-02-22 17:23:47 +01:00
Jared Wein
1c58f1711c Bug 725700 - Keyboard arrow keys and scrollbar buttons should have consistent scrolling distances. 2012-02-20 11:24:36 -05:00
Patrick Walton
380bcbc803 Force the creation of an nsDisplayScrollLayer if a displayport was set on a scroll frame 2012-02-07 22:32:21 -08:00
Nathan Froyd
72e8d1d540 Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Jared Wein
1c062f7770 Bug 710373 - Pressing the vertical slider down arrow should move three lines instead of one. r=roc 2012-01-31 12:04:35 +01:00
Mats Palmgren
530ea96a92 Bug 672944 - Setup overflow areas for the scrolled block frame in a XUL scroll frame for the benefit of text-overflow; Make the text-overflow code grok the extra wrapper frame in this case. r=roc 2012-01-28 04:35:59 +01:00