Commit Graph

288 Commits

Author SHA1 Message Date
Kartikaya Gupta
2163ba0978 Bug 1090398 - Distinguish the various outcomes of APZ hit testing more explicitly. r=botond
Previously we output of APZ hit testing was an APZC instance and an "in
overscroll" flag. Now we need to also distinguish between the hit region and the
dispatch-to-content region for an APZC, so this patch introduces an enum that
makes this more explicit.
2014-11-14 07:40:15 -05:00
Kartikaya Gupta
9a09468407 Bug 1090398 - Workaround for scrollinfo layers not yet having event regions set up correctly. r=botond
Until bug 1082594 is fixed, the area occupied by inactive scrollable subframes
don't get added to their layer's dispatch-to-content region. Therefore the APZ
code doesn't know what area corresponds to the subframe, even though it knows
there is a subframe because of the scrollinfo layer. This change inserts a small
workaround to deal with the scrollinfo layers specially, so that the composition
bounds from the scrollinfo layer is used to obtain the area. Once bug 1082594
is fixed this can probably be removed.
2014-11-14 07:40:15 -05:00
Kartikaya Gupta
aa17d0e26d Bug 1090398 - Small refactoring that adds ParentLayerPixel::ToUntyped. r=botond 2014-11-14 07:40:14 -05:00
Kartikaya Gupta
a4e48972ee Bug 1090398 - Add support for using the layer event regions for hit testing. r=botond
When the event-regions are provided by layout, use them to populate the APZ-side
hit testing regions. The existing code is still used when event-regions are not
provided by layout.
2014-11-14 07:40:14 -05:00
Kartikaya Gupta
52279ea3ee Bug 1090398 - Use EventRegions objects instead of nsIntRegions for tracking APZ hit-test areas. r=botond
This simply swaps out the existing nsIntRegion used in APZ hit-testing for
an EventRegion object. The dispatch-to-content region inside the EventRegions
is kept empty, and there are no functional changes here.
2014-11-14 07:40:14 -05:00
Benoit Girard
aa2eeb8ec1 Bug 1094442 - Part 1: Refactor how tile w/h is queried r=kats
--HG--
extra : rebase_source : 70ef00318a718e2ce3149955d2908615d6125cf3
2014-11-12 17:54:29 -05:00
Botond Ballo
1c1e4448a5 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
751e400ea4 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
c854025367 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Carsten "Tomcat" Book
8894f4319e Backed out changeset fbb9dc943109 (bug 1076163) for Android 4.0 Crashes on a CLOSED TREE 2014-11-13 11:47:57 +01:00
Carsten "Tomcat" Book
c247fdb775 Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
4b4108a4a9 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Botond Ballo
d766d4ca14 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats
--HG--
extra : rebase_source : af7323668fb54079e121755660da2121bec3d76b
2014-11-10 14:35:11 -05:00
Botond Ballo
98ceb86b05 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
57adf459d4 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Kartikaya Gupta
e230d54989 Bug 1072093 - Support progressive-paint on OS X 10.7 or later. r=BenWa 2014-11-07 14:17:14 -05:00
Milan Sreckovic
ab5bc2240d Bug 1092262 - Doxygen docs for APZ prefs. r=kats 2014-11-05 11:04:32 -05:00
Kartikaya Gupta
8b027fe00d Bug 1091283 - Ensure that pinch gesture events actually get processed. r=botond
Currently only pinch gesture events getting created in the GestureEventListener
code will make it to AsyncPanZoomController::HandleGestureEvent. Any pinch
gesture events that the widget code dispatches into the APZCTreeManager get
ignored, which shouldn't be happening. We don't have any production code that
exercises these code paths at the moment, but fixing it up also reduces the
APIs exposed into the testing code.
2014-10-31 15:29:36 -04:00
Botond Ballo
b51aa7454f Bug 1066888 - Documentation tweaks for overscroll physics improvements. r=kats. DONTBUILD for doc changes
--HG--
extra : rebase_source : 08df59b26c6ce334c96c5ec5b635c940c8548f08
extra : amend_source : 7c1c0799b0fcc747134cad8b56a202f830b50ae3
2014-10-31 14:10:36 -04:00
Botond Ballo
84f4ed3fa8 Bug 1066888 - Overscroll physics improvements. r=kats
This patch unifies the physics governing the overscroll phase of a fling
with the snap-back animation. The unified physics are spring-based, like the
physics governing the snap-back animation before, except we allow for
oscillations.
2014-10-31 12:06:31 -04:00
Kartikaya Gupta
f3b4fd4499 Bug 1091049 - Follow-up to fix non-unified build error. r=me 2014-10-30 11:48:54 -04:00
Kartikaya Gupta
44e502b83b Bug 1091049 - Add fling curving to accelerate fast flicks. r=botond 2014-10-30 10:38:10 -04:00
Kartikaya Gupta
bb71ea64de Bug 1091049 - Rename gComputedTimingFunction to gZoomAnimationFunction. r=botond 2014-10-30 10:38:09 -04:00
Kartikaya Gupta
675248424e Bug 1091128 - Ensure that large negative velocities are also clamped to the velocity cap. r=botond 2014-10-29 15:40:02 -04:00
Ehsan Akhgari
55f0b72a28 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
48f1a79f43 Bug 1088954 - Cleanup print 64-bit integers and remove a stray printf. r=botond 2014-10-24 14:45:00 +02:00
Kartikaya Gupta
8d417ca4e6 Bug 1083395 - Follow-up to fix non-unified bustage. r=me on a CLOSED TREE 2014-10-24 14:02:52 -04:00
Kartikaya Gupta
080630c133 Bug 1083395 - Move some APZC functions that are no longer needed in production down to the test subclass. r=botond 2014-10-24 13:29:35 -04:00
Kartikaya Gupta
ab3387343c Bug 1083395 - Move to a single input queue owned by the APZCTM instead of many queues owned by APZC instances. r=botond 2014-10-24 13:29:34 -04:00
Kartikaya Gupta
fe23988edf Bug 1083395 - Replace the touch block balance with an input block identifier. r=botond 2014-10-24 13:29:30 -04:00
Kartikaya Gupta
541e8f016d Bug 1083395 - Extract an InputQueue class from the APZC input code. r=botond 2014-10-24 13:29:03 -04:00
Kartikaya Gupta
2489aa5b2e Bug 1083395 - Extract helpers function from the input-handling codepath. r=botond 2014-10-24 13:29:03 -04:00
Himanshu Singh
5a4e5dca23 BUG 1087478 - Transition mMayHaveTouchListener to be private. r=kats 2014-10-23 09:10:47 -04:00
Himanshu Singh
858cf2c9d4 Bug 1058614 - Transition mMayHaveTouchCaret to be private. r=kats 2014-10-22 13:40:20 -04:00
Kartikaya Gupta
f5acfa8103 Bug 1083398 - Check the entire handoff chain for fast-moving APZCs when disabling tapping during flings. r=botond 2014-10-16 10:14:38 -04:00
Kartikaya Gupta
6c0076eb8f Bug 1083398 - Sprinkle some const keywords around. r=botond 2014-10-16 10:14:37 -04:00
Kartikaya Gupta
72ea4fdacd 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
c5ae349afc Bug 1077961, part 2 - Stop doing lots of unnecessary and expensive Matrix4x4 multiplication. r=Bas 2014-10-08 04:43:00 +01:00
Botond Ballo
8865f35412 Bug 1073250 - Ignore subsequent touches if an any APZC along the handoff chain of the one targeted by the first touch is overscrolled. r=kats 2014-10-03 20:33:49 -04:00
Andrew Osmond
57ad5c2812 Bug 1077402 - Lock monitor when accessing overscrolling transform. r=kats 2014-10-03 06:38:00 +02:00
Kartikaya Gupta
ab6a6fe5ab Bug 1063168 - Fix some incorrect debug printf format specifiers. r=botond 2014-10-03 13:39:38 -04:00
Kartikaya Gupta
cfd776f2f8 Bug 1063138 - Don't forward move events from the GEL to the APZC when two fingers are down but the pinch hasn't been activated. r=botond 2014-10-03 13:39:37 -04:00
Kartikaya Gupta
282f0f98b2 Bug 1074401 - Ensure that the repaint request is always dispatched from the APZ on the main thread. r=botond 2014-10-03 13:39:37 -04:00
Kartikaya Gupta
86bc862d58 Bug 1076915 - Ensure that PostDelayedTask is always called on the controller thread. r=botond 2014-10-03 09:29:49 -04:00
Nick Lebedev
89be467df3 Bug 947892. Add dispatching of the tap event when the tap is followed by multiple touches. r=botond 2014-10-03 09:24:56 -04:00
Kartikaya Gupta
7f4534b1c1 Bug 1043859 - Expose the APZC overscroll transform as a separate function. r=botond 2014-10-01 17:49:31 -04:00
Kartikaya Gupta
bb0fbe8d1b Bug 1068571 - Clear velocity on touch-end even if in the NOTHING state. r=botond 2014-10-01 17:49:30 -04:00
Botond Ballo
4fe50667ac Bug 1073618 - When starting a snap-back after a fling, only consider APZCs along the handoff chain from the flinging APZC onwards. r=kats 2014-10-01 13:26:37 -04:00
Kartikaya Gupta
2a13eb6ad0 Bug 1074944 - Update APZ code to use Matrix4x4::Inverse() where possible. r=nical 2014-10-01 13:13:05 -04:00
Wes Kocher
9e83c932d2 Merge b2g-inbound to m-c a=merge 2014-09-30 16:42:03 -07:00