Commit Graph

21 Commits

Author SHA1 Message Date
Kevin Wern
811c195d21 Bug 1173521 - Properly handle unapplying 3D projective transforms to rectangles in APZ code. r=botond
The untransformation is done using the newly added UntransformTo() functions
which call Matrix4x4::ProjectRectBounds(), which returns an empty rectangle
if the result is not at least partially on the positive side of the w = 0 plane.

UntransformTo() returnis the transformed rectangle if it's not empty, and
Nothing() otherwise, making callers check for this case.

The patch also adds some assertions to places where we apply transforms we
know should be 2D (and thus didn't switch to use UntransformTo()), checking
that the transforms are in fact 2D.
2015-08-28 12:00:29 -04:00
Markus Stange
dc70f04da1 Bug 1193062 - Fix UntransformVector w coordinate checks. r=kip
It shouldn't be checking the w coordinate of the difference of two Point4Ds. The 4D difference isn't really meaningful. Instead, it should be checking each point's w coordinate individually.
2015-08-07 14:36:04 -04:00
Kartikaya Gupta
3766fb3084 Bug 1180295 - Stop clipping the content while the toolbar is in the process of sliding off. r=rbarker 2015-08-18 14:27:19 -04:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Kevin Wern
4c67458e3b Bug 1120683 - Properly handle unapplying 3D projective transforms throughout APZ code. r=botond
Whenever the inverse of a 3D projective transform is applied to a point, only use the result if it has a positive w-coordinate.

When transforming by a matrix that we know should be 2D, assert to that effect.

Transformations of rectangles (as opposed to points) remain to be audited.
2015-07-03 15:06:26 -04:00
Kartikaya Gupta
f8ae55b733 Bug 1055557 - Add a ZoomConstraintsClient class to manage pushing zoom constraints updates to the APZ code. r=botond
Original patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>.
2015-06-17 12:32:42 -04:00
David Parks
44ce7aa146 Bug 1125325 - Make TabParent/TabChild UpdateDimensions messages aware of the display scale. r=kats
When connecting a lowdpi external monitor on hidpi mac, TabChild gets an
UpdateDimensions call, followed by a UIResolutionChanged call.  After
the UpdateDimensions call, the content process is in an incorrect state
where it has the dimensions of the new display and scale of the old one.
After the UIResolutionChanged message, the values are again consistent.
In the interim, reflow resizes layers based on the incorrect (old) scale
and subsequently uses those incorrect values when the new scale comes
in.  This patch normalizes the message parameters by dividing by scale
(the result is what OS X calls point coordinates) so that this doesn't happen.
2015-06-07 22:39:28 -07:00
Kartikaya Gupta
e6b390a6fb Back out 3 csets from bug 1125325 for introducing bug 1173224. r=me 2015-06-10 15:55:34 -04:00
David Parks
6260d5fed5 Bug 1125325 - Make TabParent/TabChild UpdateDimensions messages aware of the display scale. r=kats
When connecting a lowdpi external monitor on hidpi mac, TabChild gets an
UpdateDimensions call, followed by a UIResolutionChanged call.  After
the UpdateDimensions call, the content process is in an incorrect state
where it has the dimensions of the new display and scale of the old one.
After the UIResolutionChanged message, the values are again consistent.
In the interim, reflow resizes layers based on the incorrect (old) scale
and subsequently uses those incorrect values when the new scale comes
in.  This patch normalizes the message parameters by dividing by scale
(the result is what OS X calls point coordinates) so that this doesn't happen.
2015-06-07 22:39:28 -07: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
c792c148a4 End APZ wheel transactions when the mouse moves out of frame. (bug 1142866 part 2, r=kats,botond) 2015-03-22 00:42:25 -07:00
Masatoshi Kimura
4eacef39b7 Bug 1111290 - Part 1: Remove MOZ_(BEGIN|END)_ENUM_CLASS. r=waldo 2015-01-26 07:22:07 +09:00
Kartikaya Gupta
957eba0d23 Bug 1109873 - Implement the expanded HitTestingTree. r=botond 2015-01-08 09:40:01 -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
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
Kartikaya Gupta
9d277667a6 Bug 1056423 - Adjust scrollbar clip rect also when accounting for async transform. r=botond 2014-09-18 13:19:20 -04:00
Botond Ballo
c87175a55f Bug 923512 - Transition the TransformTo<>() functions from gfx3DMatrix to Matrix4x4. r=kats 2014-08-06 12:52:04 -04:00
Botond Ballo
8194f07a4f Bug 988882 - Special-case handling of root composition bounds calculation on Android when the toolbar is perma-visible. r=tn 2014-04-02 01:35:25 -04:00
Timothy Nikkel
a9c5a444c4 Bug 989897. In order to properly compute root composition size view the root composition size first as layer pixels in the target layer, then convert to css pixels. r=kats
Since our goal is to use the root composition size to bound the layer size of the display port of the child layer this makes sense.
2014-04-02 17:46:38 -05:00
Botond Ballo
1d877f8d82 Bug 935219 - Fix composition bounds calculation and APZC hit testing (again). r=kats,tn 2014-03-10 17:56:59 -04:00