Commit Graph

169 Commits

Author SHA1 Message Date
Kartikaya Gupta
f4dd5374f4 Bug 1158933 - Replace the compositedHeight/scrollableHeight (and width) term with the adjusted scrollThumbRatio. r=botond 2015-04-29 07:22:27 -04:00
Kartikaya Gupta
6661eab85d Bug 1158933 - Prevent scrollbars from jumping while zoomed in the B2G browser. r=botond 2015-04-29 07:22:27 -04:00
Timothy Nikkel
3a8b15b000 Bug 1157066. When reading back the OMTA transfrom of a layer don't include transforms from async panning or zooming. r=kats,birtles
Containerless scrolling means that the pan zoom controller applies it's transforms (to compensate for differences between the state of layout the last time we painted and the current state as composited to the screen) to the layers that are scrolled instead of the container layer that contains the layers that scroll.

When running test_animations_omta.html there is a zoom of 1.306122 applied, and the page is scrolled down to 67 screen pixels (before the test starts, not sure why exactly). Gecko scrolls as close to 67 screen pixels as it can: 67/1.306122 = 51.29689 css pixels, which is 3077.813 appunits. Gecko scrolls to 3078 app units. When AsyncCompositionManager::TransformScrollableLayer runs we calculate the scroll position of gecko and the current scroll position that the pan zoom controller is using. Since there are no async pan or zoom operations taking place these should match. However when the gecko scroll position is calculated we get 3078/60*1.306122 = 67.0040586. So it applies a transform of 0.0040586 to the container layer for the transform that test_animations_omta.html is animating off main thread. When test_animations_omta.html reads the transform of this layer it fails because it's expecting 0 and 0.0040586 is outside of it's epsilon for considering it to be close enough.
2015-04-24 19:05:52 -05:00
Wes Kocher
d068b7e113 Backed out changeset 517b9b831685 (bug 1157066) for build bustage 2015-04-24 14:56:55 -07:00
Timothy Nikkel
29c16525f7 Bug 1157066. When reading back the OMTA transfrom of a layer don't include transforms from async panning or zooming. r=kats,birtles
Containerless scrolling means that the pan zoom controller applies it's transforms (to compensate for differences between the state of layout the last time we painted and the current state as composited to the screen) to the layers that are scrolled instead of the container layer that contains the layers that scroll.

When running test_animations_omta.html there is a zoom of 1.306122 applied, and the page is scrolled down to 67 screen pixels (before the test starts, not sure why exactly). Gecko scrolls as close to 67 screen pixels as it can: 67/1.306122 = 51.29689 css pixels, which is 3077.813 appunits. Gecko scrolls to 3078 app units. When AsyncCompositionManager::TransformScrollableLayer runs we calculate the scroll position of gecko and the current scroll position that the pan zoom controller is using. Since there are no async pan or zoom operations taking place these should match. However when the gecko scroll position is calculated we get 3078/60*1.306122 = 67.0040586. So it applies a transform of 0.0040586 to the container layer for the transform that test_animations_omta.html is animating off main thread. When test_animations_omta.html reads the transform of this layer it fails because it's expecting 0 and 0.0040586 is outside of it's epsilon for considering it to be close enough.
2015-04-24 16:41:56 -05:00
L. David Baron
99cf80cc3c Bug 1156456 patch 3 - Send transform origin and perspective origin to layer in device pixels rather than CSS pixels. r=birtles 2015-04-22 19:37:04 -07:00
L. David Baron
5527a278a1 Bug 1156456 patch 2 - Transform the z component just like the x and y. r=birtles
I confirmed locally that this patch fixes the reftest (per reftest.list
change).
2015-04-22 19:37:04 -07:00
Brian Birtles
245d56b34b Bug 1154615 part 1 - Rename AnimationPlayer to Animation in WebIDL; r=smaug
This patch is a fairly minimal rename of the AnimationPlayer interface. It
leaves a bunch of local variables and helper classes still using the word
"player". These will be addressed in subsequent patches that don't require DOM
peer review.
2015-04-21 10:22:09 +09:00
Brian Birtles
b23bc79d92 Bug 1153734 part 2 - Rename Animation to KeyframeEffectReadonly; r=smaug
We define KeyframeEffectReadonly in KeyframeEffect.cpp since Web Animations also
defines KeyframeEffect and when we come to implement that I expect we'll define
it in the same class, maybe even using the same object.

This patch also adds a few missing includes in places where
KeyframeEffectReadonly is used so that we're not just cargo-culting it in.
2015-04-15 08:48:21 +09:00
Ying-Ruei Liang (KK)
2c219b4aaf Bug 1143522 - Convert Layer::mClipRect to ParentLayerIntRect. r=botond
Change interface of getter/setter for mClipRect,
also necessary modification for codes that use these resources.

* * *
Bundle mUseClipRect and mClipRect as Maybe<ParentLayerIntRect> mClipRect
2015-04-11 22:03:00 -04:00
David Anderson
5ae9e8b290 Scrollbar thumbs can overlap scrollbar arrows during APZ scrolling. (bug 1152469, r=botond,mstange) 2015-04-12 23:03:02 -04:00
David Anderson
e778138567 Fix async transforms on scrollbars not including any existing shadow transform. (bug 1128740 part 2, r=botond) 2015-04-07 00:50:15 -07:00
David Anderson
c1b70931b4 Fix the order async transforms are applied to scrollbars. (bug 1128740 part 1, r=botond) 2015-04-07 00:50:13 -07:00
David Anderson
8a21b4d440 Fix AsyncCompositionManager not comparing layer tree IDs when finding scrollbar targets. (bug 1151169, r=kats) 2015-04-06 11:27:07 -07:00
Botond Ballo
e7e070f1e8 Bug 1145730 - Restrict the async transforms applied to mask layers to those caused by fixed-position adjustment. r=kats 2015-04-01 16:47:05 -04:00
L. David Baron
9de967c23a Bug 847287 patch 13 - Apply animations/transitions on the layer in the order that reflects how they override, rather than the opposite. r=birtles
This independently would have fixed some of the problems fixed in this
bug.  It would not have fixed them fully, though, since it would not
have prevented us from sending animations being covered up by !important
rules to the compositor.
2015-03-31 15:05:55 -07:00
Botond Ballo
5272cb578e Bug 1036967 - Use ScaleFactors2D instead of ScaleFactor where appropriate in APZ and surrounding code. r=kats 2015-03-06 13:54:10 -05:00
Botond Ballo
1eee6d6fb2 Bug 1141488 - On non-APZ platforms, combine any async transform with the OMTA transform rather than clobbering it the OMTA transform. r=kats 2015-03-11 13:18:52 -04:00
Kartikaya Gupta
c5517ecec8 Bug 1130982 - Ensure the clip rect is appropriately adjusted for multi-framemetrics layers. r=botond 2015-02-20 16:01:41 -05:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Surabhi Anand
b5b1e8520c Bug 1120203 - Transitioning mPresShellResolution field of FrameMetrics to use getters/setters. r=kats 2015-01-16 16:15:52 -05:00
Botond Ballo
f174d5a8ff Bug 1120400 - Adjust the code for aligning fixed and sticky layers to account for the transform changes in bug 1076241. r=kats 2015-01-12 16:51:04 -05:00
Botond Ballo
713fb87f7c Bug 1088984 - Account for the async scale correctly when transforming the scroll thumb in the compositor. r=kats 2014-10-24 20:14:56 -04:00
Botond Ballo
6c9439a5e0 Bug 1076241 - Get rid of the nontransient async transform. r=kats 2014-12-19 18:53:05 -05:00
Cameron McCormack
40dc114ddc Bug 1116427 - Remove unneeded nsCSSPropList.h include from AsyncCompositionManager.h. r=nrc 2015-01-05 22:03:28 +11:00
Kushan Joshi
b4d526cbbf Bug 1116008 - Make FrameMetrics::mCriticalDisplayPort private. r=kats 2014-12-30 14:07:57 -05:00
Leonid V. Fedorenchik
0f3923a572 Bug 1115327 - Changed FrameMetrics.mScrollableRect to be accessible by getter/setter methods. r=kats 2014-12-27 12:48:27 -05:00
Yan Gouts
f75d626d81 Bug 1113774 - Transitioned FrameMetric mDisplayPort accesses to Get/Set method calls. r=kats 2014-12-23 10:35:58 -05:00
Brian Birtles
23dfa5deff Bug 927349 part 13 - Update start times on animations in layers when the animation ready time is resolved; r=nical 2014-12-22 09:35:41 +09:00
Prabhjyot Singh Sodhi
cd58e9ca1d Bug 1112830 - Changed mCumulativeResolution of FrameMetrics.h to private and all correspondings files using this variable using getters and setters;r=kats 2014-12-18 19:33:18 -05:00
Prabhjyot Singh Sodhi
560e8eee1c Bug 1101620 - Changed mDevPixelsPerCSSPixel of FrameMetrics.h to private and all corresponding files using this variables using getters and setters;r=kats 2014-12-17 17:14:05 -05:00
Kartikaya Gupta
0998727bdc Bug 1100140 - When a scrollable layer is marked as fixed-position, don't treat it as fixed relative to itself. r=botond 2014-11-19 13:41:48 -05:00
Botond Ballo
8e10bf2d87 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
5ff0017ed7 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Carsten "Tomcat" Book
4a50bc99ae Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
52d5b03991 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
031c8b1c39 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
4bdb5115eb Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Kartikaya Gupta
273c06a82d Bug 1091296 - When applying the APZ transform on a layer, make sure not to clobber any existing OMTA transform. r=mattwoodrow 2014-11-11 10:54:02 -05:00
Kartikaya Gupta
f73c12544e Bug 1091296 - Remove the redundant code for clearing async transforms per frame of composition. r=mattwoodrow
We already reset the shadow transform to the layer transform in
SetShadowProperties() before compositing every frame, so this is redundant.
2014-11-11 10:53:57 -05:00
Kartikaya Gupta
0e53c43b1a Bug 1091296 - Refactor the pre- and post-scale cancellation code into a helper method. r=mattwoodrow 2014-11-11 10:53:44 -05:00
Ehsan Akhgari
22d38b6803 Bug 1088838 - Don't export CompositorChild.h, CompositorParent.h and ShadowLayersManager.h twice; r=BenWa 2014-10-27 08:57:36 -04:00
Kartikaya Gupta
f6083d562d Bug 1013612 - Remove APZ-internal headers from being exported to non-layers code. r=botond 2014-10-16 09:23:52 -04:00
Jonathan Watt
44455cc40b Bug 1082483, part 2 - Convert Mozilla code to use the new Matrix4x4::PreTranslate/PreScale method names. r=Bas 2014-10-16 10:51:12 +01:00
Jonathan Watt
549b278c72 Bug 1082477, part 1 - Convert Matrix4x4::TranslatePost/ScalePost callers to Matrix4x4::PostTranslate/PostScale. r=Bas 2014-10-16 10:51:12 +01:00
Kartikaya Gupta
85de5eb65b Bug 1078316 - Tweaks for root-frame overlay scrollbars so they don't oscillate while panning around. r=botond,tn 2014-10-08 22:56:38 -04:00
Jonathan Watt
fa5188c412 Bug 1077961, part 2 - Stop doing lots of unnecessary and expensive Matrix4x4 multiplication. r=Bas 2014-10-08 04:43:00 +01:00
Kartikaya Gupta
5a23c53a99 Bug 1043859 - Fix the code to remove the async transform from scrollbar layers that are descendants of their content. r=botond 2014-10-01 17:49:31 -04:00