Commit Graph

984 Commits

Author SHA1 Message Date
Botond Ballo
806b09761e Bug 1267438 - Support adding ancestor mask layers from places other than SetupScrollingMetadata. r=mstange
MozReview-Commit-ID: DwdbSRdEMEc
2016-05-06 19:34:16 -04:00
Botond Ballo
38fa31a24e Bug 1267438 - Group ScrollMetadata's optional clip rect and mask layer index into a LayerClip structure. r=mstange
MozReview-Commit-ID: 6W0GZYkioov
2016-04-29 16:14:21 -04:00
Sotaro Ikeda
d967dd2cad Bug 1252405 - Reduce MaskLayer's memory usage r=mattwoodrow 2016-05-10 03:18:11 -07:00
Botond Ballo
a6fa0406e7 Backed out 12 changesets (bug 1267438) for Android reftest failures on a CLOSED TREE. r=backout
MozReview-Commit-ID: LlibhRhbyVO
2016-05-10 04:27:31 -04:00
Botond Ballo
e8c671786a Bug 1267438 - Remove the (no longer used) isClipFixed=false annotation. r=mstange
MozReview-Commit-ID: LicG7zFHnX3
2016-05-04 20:07:42 -04:00
Botond Ballo
a260ec0210 Bug 1267438 - For fixed backgrounds, use the scrolled clip rather than the isClipFixed=false annotation. r=mstange
MozReview-Commit-ID: 9STe7ypglpP
2016-05-06 19:02:26 -04:00
Botond Ballo
c0d82b678a Bug 1267438 - Support adding ancestor mask layers from places other than SetupScrollingMetadata. r=mstange
MozReview-Commit-ID: DwdbSRdEMEc
2016-05-06 19:34:16 -04:00
Botond Ballo
22cb05c9d2 Bug 1267438 - Group ScrollMetadata's optional clip rect and mask layer index into a LayerClip structure. r=mstange
MozReview-Commit-ID: 6W0GZYkioov
2016-04-29 16:14:21 -04:00
Markus Stange
c2ca4f6d82 Bug 1266161 - Make DrawForcedBackgroundColor fill the entire draw region, not just the layer's visible region. r=mattwoodrow
We need to do this because the entire draw region will be added to the layer's
valid region after drawing. If there are parts in the valid region that are not
in the visible region, we still need those parts to have valid content, because
in a later frame the visible region may grow to include those parts.

MozReview-Commit-ID: 6zESYbPAmrx
2016-05-06 13:53:56 -04:00
Kartikaya Gupta
2a837fb554 Bug 1264592 - When doing thumbnails for fennec, don't mark frames as painted because it can interfere with tests. r=mstange
MozReview-Commit-ID: KOhZZV3aSLv
2016-05-06 10:31:11 -04:00
Matt Woodrow
ef670a499e Bug 1266380 - Don't try to untransform visible regions for inactive perspective layers. r=thinker 2016-04-28 17:05:46 +12:00
Kartikaya Gupta
b95164635e Bug 1231396 - Add a pref to record and print out the number of pixels painted. r=mstange
MozReview-Commit-ID: 2qqnL6rqjcL
2016-04-19 17:07:57 -04:00
Markus Stange
655c53f569 Back out bug 1164227, because bug 1236043 fixes the original problem in a better way.
MozReview-Commit-ID: F4bD1MvOWDR
2016-03-28 18:37:07 -04:00
Milan Sreckovic
dd0830c93c Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt
2016-04-12 15:18:11 -04:00
Botond Ballo
aa2fd58a6a Bug 1219296 - Split fields not needed for repaints out from FrameMetrics. r=kats
MozReview-Commit-ID: DymHOSI6yYK
2016-03-28 19:14:52 -04:00
Mantaroh Yoshinaga
cef797a3fa Bug 1215180 - Modify the scale calculate in order to prevent blurry of animation transform. r=mstange 2016-03-23 16:18:00 -04:00
Markus Stange
0d57201020 Bug 1209100 - Back out bug 1165185 on inbound.
MozReview-Commit-ID: JqohyXNvjiU
2016-03-21 16:16:52 -04:00
Benoit Girard
bca7a995e1 Bug 1256373 - Simplify mMaybeHitRegion. r=tnikkel
MozReview-Commit-ID: 1Px20e5EWRj
2016-03-16 15:27:19 -04:00
Sotaro Ikeda
3aa4e37cc3 Bug 1245552 - Align MaskLayer surface to 4 r=mattwoodrow 2016-03-16 18:54:38 -07:00
Matt Woodrow
f9b1c63d6c Bug 1220466 - Avoid doing unnecessary layer building work for inactive layers. r=mstange 2016-03-10 13:56:52 +13:00
Markus Stange
29fd98884e Bug 1221094 - Detect scrollability (for using tiled layers) through container layers. r=mattwoodrow
MozReview-Commit-ID: 6Z8pniahhbP
2016-03-08 14:43:32 -05:00
Markus Stange
c7f1bb1f91 Bug 1221094 - Don't mutate local mParameters with stuff that we only want to pass somewhere else. r=mattwoodrow
MozReview-Commit-ID: FV0HxrrWfHW
2016-03-08 14:43:15 -05:00
Markus Stange
8de4604c1b Bug 1247854 - Apply the correct scroll clips to the nsDisplayTransform and nsDisplayPerspective of a scrolled perspective item. r=mattwoodrow
I've decided to fix this in a very explicit way. The only "magic" part that's
left is how we decide that the AGR of the perspective item is outside the
scrolled frame (and I'm not sure myself how that works).

I didn't want to change what scroll clips we set on what items, because the
scroll clip really belongs on the perspective item, because that's the item
that needs to be clipped, and it should also be the item that should be
scrolled if it weren't for the fact that APZ wouldn't know that it should
apply the perspective transform before the APZ transform.

MozReview-Commit-ID: BBw8VPohQI4
2016-02-26 01:29:41 +01:00
Markus Stange
2f548e96d9 Bug 1238564 - Set the innermost possible scroll clip on opacity items during creation. r=mattwoodrow
Always use an ancestor scroll clip of all direct children, or the original
scroll clip if the children don't share the same scroll clip tree.
Unfortunately this requires another pass over the stacking context display list.

Also, fix clips, scroll clips and creation order of blend items:
If a clipped mix-blend-mode item contains absolute / fixed positioned items,
those items should not be clipped, same for blend container items.
When a transform item contains blend modes, create the blend container inside
the transform.

Don't do tree comparisons on scroll clips from different scroll clip trees.
If the inner scroll clip is nullptr, because it was cleared, it will look like
it's the ancestor of the outer non-nullptr scroll clip.

These changes don't look very related, but it was very hard to get tests passing
with only some of the changes and not the others, and after having spent two
weeks on this patch I'm not thrilled about going back and checking exactly which
change was necessary to fix which test failure.

MozReview-Commit-ID: IKGciUBrdNa
2016-03-04 15:05:58 -05:00
Markus Stange
2bb2744b71 Bug 1238564 - Anticipate async scrolling when computing the scroll clipped bounds of a display list. r=roc
This makes sure that for example the bounds of an opacity item are not empty if
the opacity item contains a scroll frame whose contents are currently scrolled
offscreen but still inside that scroll frame's display port.

On its own, this changeset causes test failures due to missed optimizations
because the bounds of many opacity items are now too large. That's because of
the way we're setting scroll clips on opacity items at the moment: Even if the
opacity is inside a scroll frame, we're currently only setting that scroll
frame's scroll clip on the opacity item's contents, not on the opacity item
itself, because the opacity item might also contain other items that are not
scrolled by this scroll frame.
The next patch in this bug will make us only do that when necessary.

MozReview-Commit-ID: 9TtcJ7eQE7U
2016-02-22 16:17:16 +01:00
Nathan Froyd
69ef63df0d Bug 1254551 - remove tabs in FrameLayerBuilder.cpp; r=me
DONTBUILD because whitespace-only changes are totally safe, right?
2016-03-07 15:50:35 -05:00
Jonathan Watt
7681c202b1 Bug 1253094, part 5 - Stop using DebugOnly for class/struct members in layout/. r=mats
MozReview-Commit-ID: 3a49kqA4A9
2016-02-26 15:52:07 +00:00
Milan Sreckovic
9475f9de56 Bug 1252929: Next.1. Make layers.max-active preference not need a restart. r=mstange 2016-03-04 12:13:57 -05:00
Jamie Nicol
5f4c0d8c4a Bug 1241078 - Only treat items as backface hidden if they are 3D-transformed. r=tlee
Add helper function nsIFrame::In3DContextAndBackfaceIsHidden() which
checks both if a frame is backface-hidden and whether it is within a
3D-transform context.

In FrameLayerBuilder, check this function rather than BackfaceIsHidden()
to determine whether a frame needs a backface-hidden layer. This will
avoid creating unnecessary extra layers for non-3d-transformed items
which for some reason have backface-hidden set.
2016-02-08 22:34:13 +00:00
Bogdan Postelnicu
8927545208 Bug 1232635 - since presContext is always a valid pointer remove the useless null check that also confused Coverity. r=bz 2015-12-17 00:18:00 +01:00
Carsten "Tomcat" Book
faaf2b14b3 Backed out changeset a9e7c8584256 (bug 1232635) for test failures in reftest crashtest-e10s 2016-02-10 10:11:03 +01:00
Bogdan Postelnicu
e90c839683 Bug 1232635 - since presContext is always a valid pointer remove the useless null check that also confused Coverity. r=bz 2015-12-17 00:18:00 +01:00
Matt Woodrow
900aab3c24 Bug 1243409 - Always recompute geometries for inactive layers since we can't easily tell if they will be identical. r=roc 2016-02-09 16:05:20 +13:00
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda
d871b9515f Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Xidorn Quan
f297712b64 Bug 1230034 part 9 - Convert FrameLayerBuilder::LayerManagerDataProperty to be typed. r=dbaron 2016-01-28 14:23:59 +11:00
Xidorn Quan
5011d611a5 Bug 1230034 part 2 - Constify aFrame parameters of frame property functions. r=dbaron 2016-01-28 14:23:59 +11:00
Nicholas Nethercote
be64733758 Bug 1239864 (part 9) - Use the new rect iterators in layout/ and ipc/. r=dholbert. 2016-01-18 17:20:59 -08:00
Matt Woodrow
2ebfca0748 Bug 1231538 - Build a ContainerLayer for position:fixed and background-attachment:fixed content. r=roc 2016-01-26 13:36:48 +13:00
Matt Woodrow
3e2c72a027 Bug 1221842 - Don't reallocate DLBI geometry objects if nothing has changed. r=roc 2015-11-06 16:57:47 +13:00
Matt Woodrow
2a0c2437fa Bug 1237083 - Don't trigger layer flattening if the component alpha layer is directly on top of a forced active layer. r=roc 2016-01-14 12:42:27 +13:00
Brian Birtles
836118590d Bug 1232577 part 19 - Move ClearIsRunningOnCompositor to EffectCompositor; r=heycam 2016-01-13 07:54:56 +09:00
Jamie Nicol
6e46af0f84 Bug 1231818 - Make FrameLayerBuilder try harder to respect layers.max-active pref. r=mstange 2016-01-07 15:50:23 +00:00
Tooru Fujisawa
1b5f79d9ec Bug 382721 - Part 0: Add missing includes and namespaces. r=jrmuizel 2015-09-10 19:24:34 +09:00
Timothy Nikkel
bf3ae99610 Bug 1194851. Change the GetDisplayPort API to take an optional RelativeTo parameter, instead of having that expressed in the function name. r=botond 2016-01-07 18:27:49 -06:00
Timothy Nikkel
8d4a783640 Bug 1194851. Split GetDisplayPort callers into GetDisplayPortRelativeToScrollPort and GetDisplayPortRelativeToScrollFrame. r=botond
Temporarily rename GetDisplayPort to GetDisplayPortRelativeToScrollPort for the duration of this patchset.

This means that every caller of GetDisplayPort is guaranteed to be touched by this patchset (assuming it compiles), and thus each call site can be checked in review to make sure it is relative to the correct coordinate system.
2016-01-07 18:27:49 -06:00
Botond Ballo
dabc6624f0 Bug 1232939 - Ensure the opaque region of a fixed background layer is correctly clipped. r=mstange 2016-01-06 13:48:37 -05:00
Nicholas Nethercote
9910c40eea Bug 1232852 (part 7) - Remove some unused parameters in and around layout/base/. r=tn. 2016-01-05 16:08:17 -08:00
Nicholas Nethercote
bb5a4f7dc2 Bug 1232852 (part 4) - Remove some unused parameters in and around layout/base/. r=heycam. 2016-01-05 16:08:17 -08:00