Commit Graph

907 Commits

Author SHA1 Message Date
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
Nicholas Nethercote
4fab88afad Bug 1232852 (part 3) - Remove unused parameters from some accessibility code. r=tbsaunde. 2015-12-15 21:24:06 -08:00
Nicholas Nethercote
d5ebad9426 Bug 1233605 - Cull some uses of gfxContext. r=dholbert. 2015-12-17 19:36:09 -08:00
Markus Stange
bb4c7fe2b7 Bug 1152049 - Rename GetClippedBoundsUpTo into GetScrollClippedBoundsUpTo. r=tn 2015-12-24 12:16:46 +01:00
Markus Stange
55bb4c2297 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc 2015-12-22 16:54:19 +01:00
Morris Tseng
a5b2dadb41 Bug 1215438 - Part 4: Rename CairoImage to SourceSurfaceImage. r=roc 2015-12-18 14:52:16 +08:00
Bogdan Postelnicu
97ac8e47e7 Bug 1232271 - initialize local scalar mSolidColor with default value - NS_RGBA(0, 0, 0, 0). r=matt.woodrow 2015-12-14 04:06:00 +01:00
Carsten "Tomcat" Book
791f2a3ca3 Backed out changeset 68b33692bed3 (bug 1147673) 2015-12-16 11:52:37 +01:00
Markus Stange
7ce6f2aca9 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc 2015-12-12 10:58:37 -05:00
Brian Birtles
260ea8a767 Bug 1230056 part 2 - Remove nsLayoutUtils::HasAnimationsForCompositor and call EffectCompositor::HasAnimationsForCompositor directly; r=dholbert 2015-12-09 16:28:10 -05:00
Sunny Sidhu
2ba69faae0 Bug 1220873 - Make Layer::mVisibleRegion a LayerIntRegion. r=botond 2015-11-29 02:07:55 -05:00
Matt Woodrow
4c612326aa Bug 1168263 - Add nsDisplayPerspective and build separate layers for perspective. r=roc 2015-11-26 22:32:36 +13:00
Ting-Yu Lin
ec7b5746f9 Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats 2015-11-26 17:12:39 +08:00
Timothy Nikkel
b59cc0c652 Bug 1222880. Followup to the followup to handle the case when aStopAtAnimatedGeometryRoot isn't an ancestor of aAnimatedGeometryRoot the same way we did before the patches of this bug. r=mattwoordrow (more or less)
Which is to return an empty scroll clip (instead of whatever scroll clip was accumulated in the for loop).

This patch is actually even slightly better than what we did before in that we can stop when we hit the root AGR (which is also the root reference frame) instead of the root of the frame tree. These would be different when painting a popup frame, or when not painting to the window.
2015-11-24 22:21:10 -06:00
Matt Woodrow
5cc1f74d91 Bug 1222880 - Followup to handle the case when aStopAtAnimatedGeometryRoot isn't an ancestor of aAnimatedGeometryRoot. CLOSED TREE 2015-11-25 16:24:42 +13:00
Matt Woodrow
3bf4d3a834 Bug 1222880 - Build a tree of AnimatedGeometryRoots to speed up traversal of ancestors. r=roc,tn 2015-11-25 11:53:51 +13:00
David Anderson
94c51e6a9a Decouple CairoImage from ImageContainer. (bug 1222910, r=roc) 2015-11-17 00:09:00 -08:00
Nicholas Nethercote
eaf3acd738 Bug 1224482 (part 4) - Make GetClientSize() return a LayoutDeviceIntSize. r=kats. 2015-11-13 01:37:02 -08:00
Nicholas Nethercote
3f2b2ab546 Bug 1223690 - Remove implicit Rect conversions. r=jrmuizel.
gfxRect can be implicitly constructed from IntRect, which hides a number of
implicit conversion points, makes Moz2Dification harder, and has some
surprising effects.

This patch removes the implicit constructor and replaces it with an explicit
conversion function:

  gfxRect ThebesRect(const IntRect&)

This is the obvious outcome of removing the constructor.

But there is also a second, less obvious outcome: currently we do a number of
IntRect-to-Rect conversions using ToRect(), which (surprisingly) works because
it turns into an implicit IntRect-to-gfxRect conversion (via the implicit
constructor) combined with an explicit gfxRect-to-Rect conversion (via
ToRect()). I.e. we do two conversions, going from a Moz2D type to a Thebes
type and back to a Moz2D type!

So this patch also changes these conversion. It moves this existing function:

  Rect ToRect(const IntRect&)

from gfx2DGlue.h -- where it doesn't really belong because it doesn't involve
any Thebes types -- to gfx/2d/Rect.h, templatifying and renaming it as
IntRectToRect() in the process.

The rest of the patch deals with fall-out from these changes. The call sites
change as follows:

- IntRect-to-gfxRect conversions:
  - old: implicit
  - new: ThebesRect()

- IntRect-to-Rect conversions:
  - old: ToRect()
  - new: IntRectToRect()
2015-11-11 14:23:14 -08:00
Robert O'Callahan
2db39ab29e Bug 1213582. Skip display items in ProcessDisplayItems if we only need items for event regions, and this item isn't one and doesn't have descendants. r=mattwoodrow 2015-11-11 15:09:21 +13:00
Botond Ballo
db5d15db66 Bug 1222661 - Replace ToUntyped(obj) calls with obj.ToUnknown*(). r=nical 2015-11-06 22:13:40 -05:00
Thinker K.F. Li
d017721a47 Bug 1210784 - Layer tree invalidation with Preserves3D. r=roc 2015-11-02 18:28:00 +01:00
Kartikaya Gupta
15b17818c8 Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-10-05 17:09:34 -04:00
Timothy Nikkel
ba8211582b Bug 1156238. Skip setting async scroll clips if we aren't painting to the window because they are useless then. r=mstange
Displayports only get acted upon when painting to the window, and the async scroll clips only get computed when we use a displayport.

In addition we change an assert because if we are painting to the window then our root reference frame is either a root frame, or a popup frame. In either case we should not be able to get to out of flows outside of the frame subtree rooted at the root reference frame by following placeholders.
2015-11-03 02:03:47 -06:00
Timothy Nikkel
a31e71e20e Bug 1156238. Fix the computation of animated geometry roots for transform items. r=mattwoodrow
Removing the "stop at ancestor" parameter from functions that compute AGR meant that nsLayoutUtils::GetAnimatedGeometryRootFor could no longer pass the display item's reference frame as the "stop at ancestor" which meant that the AGR could cross the reference frame for the item, which we don't want. So we make transformed frames into AGRs.

This makes the computation of display items whose frames are transformed tricky. We need the AGR of the transform item to be the ancestor AGR, not the underlying frame of the transform item (which is now an AGR). So we modify nsLayoutUtils::GetAnimatedGeometryRootFor to handle this. (The patch from bug 1205087 didn't suffer from this problem because it special cased the computation of the AGR of transform items. Leaving anybody who called nsLayoutUtils::GetAnimatedGeometryRootFor to get the wrong result.)

The computation of the AGR for scroll metadata in ContainerState::ProcessDisplayItems specifically bypassed nsLayoutUtils::GetAnimatedGeometryRootFor to avoid it's special processing of fixed background items. However we do want the AGR for scroll metadata to do this special processing of transform items. So we add a flag to bypass the fixed background behaviour and use it for the scroll metadata AGR.
2015-11-03 02:03:47 -06:00
Matt Woodrow
58b7baaafe Bug 1156238. Always stop at the root reference frame when looking for an animated geometry root. r=roc,mattwoodrow
This removes the "aStopAtAncestor" argument to agr computing functions. In most cases an AGR was passed for the stop at ancestor, so we'd stop at it anyway since it was an AGR. Most of the remaining cases the root reference frame was passed. And in a few cases something else was passed, which we probably don't want (returning something that isn't an AGR and isn't the root reference frame as an AGR).

The ShouldFixToViewport case is a little tricky. We want to get the AGR of the nearest viewport frame, but only if we don't have to cross our root reference frame to get it. This happens in practice for example when a select dropdown has background-attachment: fixed inside it.

Except for the ShouldFixToViewport bit, this patch is a subset of part 3 in bug 1205087 (which has more changes, and has been temporarily backed out, the remaining bits can hopefully land soon).

The ShouldFixToViewport part is by Timothy Nikkel <tnikkel@gmail.com>
2015-11-03 02:03:47 -06:00
Nigel Babu
38efdfbdcf Backed out changeset de50fec5c3a6 (bug 1219020) 2015-11-03 11:59:06 +05:30
Matt Woodrow
81b64f6fa8 Bug 1219020 - Don't do layer tree comparisons for inactive layer trees that have changed layers since we'll invalidate it all anyway. r=roc 2015-11-03 16:48:42 +13:00