Commit Graph

731 Commits

Author SHA1 Message Date
CJKu
5aba46d7ec Bug 759568 - Part 6. Remove unused nsDisplayList::mVisibleRect; r=jfkthame
MozReview-Commit-ID: 88jIDJ65ALf
2016-04-12 21:58:23 +08:00
CJKu
110d895ffb Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-12 21:58:22 +08:00
Matt Woodrow
35a6d1ae18 Bug 852754 - Part 3: Share the implementation of ConfigureLayer. r=mstange 2016-04-07 18:54:33 +12:00
Matt Woodrow
824d125a52 Bug 852754 - Part 2: Share the implementation of GetContainer. r=mstange 2016-04-07 18:53:15 +12:00
Matt Woodrow
ed1801d715 Bug 852754 - Part 1: Share the code for limiting scale factors to all image types. r=mstange 2016-04-07 18:52:35 +12: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
Seth Fowler
0f24c44100 Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Matt Woodrow
d0b12ada69 Bug 1250718 - Don't flatten opacity to an intermediate surface when used in the middle of preserve-3d. r=thinker 2016-03-18 09:23:51 +13:00
Matt Woodrow
40c0acb00c Bug 1251527 - Don't override visible regions for background-attachment:fixed. r=mstange 2016-03-09 17:35:48 +13:00
Markus Stange
314f6f9983 Bug 1248913 - Remove mCanBeActive and second nsDisplayBlendContainer constructor. r=mattwoodrow
MozReview-Commit-ID: Jcrip22bW5k
2016-03-08 14:38:22 -05:00
Markus Stange
8edacd223d Bug 1248913 - Build nsDisplayBlendMode items for background-blend-mode. r=mattwoodrow
MozReview-Commit-ID: 72IzlcgHFtd
2016-03-08 14:22:36 -05:00
Markus Stange
cc7e2246b3 Bug 1248913 - Rename nsDisplayMixBlendMode to nsDisplayBlendMode. r=mattwoodrow
We're going to use it both for background-blend-mode and for mix-blend-mode.

MozReview-Commit-ID: 6zKCDSkLspc
2016-03-05 17:04:02 -05:00
Markus Stange
7b58e2bc3d Bug 1248913 - Add a constructor argument to nsDisplayMixBlendMode that lets you specify the blend mode. r=mattwoodrow
MozReview-Commit-ID: 9MqjLKjRmeh
2016-03-05 16:39:25 -05:00
Markus Stange
ccfcc4b90c Bug 1248913 - nsDisplayListBuilder doesn't need to know what blend modes it contains, just whether it contains any. r=mattwoodrow
MozReview-Commit-ID: 5yQcGnXBKKp
2016-03-05 12:46:14 -05:00
Markus Stange
616923c445 Bug 1238564 - Get rid of cross stacking context parent scroll clip. r=mattwoodrow
MozReview-Commit-ID: JthSGAb5Kp3
2016-03-04 14:49:35 -05: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
9ed567230e Bug 1238564 - Allow constructing nsDisplayWrapList with a given scroll clip. r=roc
MozReview-Commit-ID: 59FqPndU9mr
2016-02-26 13:38:12 +01: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
Hiroyuki Ikezoe
debb6854c0 Bug 1196114 - Part 3: Set AnimationPerformanceWarning messages. r=birtles
Those message will be modified in part 4 (localization).

MozReview-Commit-ID: 6TMUxemVLcu
2016-03-04 15:07:04 +09: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
Timothy Nikkel
e5ce16370d Bug 1253052. Only schedule paint when apz aware event listener is added if event regions/apz are enabled. r=kats
Bug 1210057 added this, we should only do it if apz/event regions are enabled.
2016-03-03 15:52:09 -06:00
David Anderson
4b93278745 Fold nsDisplayBlendContainer constructors. (bug 1209278 part 3, r=mstange) 2016-02-29 01:45:43 -05:00
David Anderson
f8e264b755 Remove lazy scrollinfo hoisting introduced in bug 1193557. (bug 1209278 part 2, r=mstange) 2016-02-23 10:11:43 -08:00
Wes Kocher
9a52b34169 Backed out 2 changesets (bug 1193557, bug 1209278) for build bustage
Backed out changeset 755b9088813c (bug 1193557)
Backed out changeset 21356fa4e353 (bug 1209278)
2016-02-23 10:39:08 -08:00
David Anderson
c6f8e80e7b Remove lazy scrollinfo hoisting introduced in bug 1193557. (bug 1209278 part 2, r=mstange) 2016-02-23 10:11:43 -08:00
Jamie Nicol
887123b1a5 Bug 1247554 - Budget creation of AGRs by frame area; r=mattwoodrow
In nsDisplayListBuilder keep track of the total area of frames which
have been made animated geometry roots due to having animated offset or
margin properties. This is in order to reduce the total area of created
layers. Once the area has reached a certain limit do not allow any more
frames to be AGRs for this reason.

Currently this only applies to AGRs created due to frames having
animated offset or margin properties. This is because we believe this is
a major source of over-layerisation and too high memory usage. This
could easily be extended to include the creation of AGRs due to other
reasons too.

Note that this technically limits the area of AGR frames, not the area
of layers, though it will have a fairly direct impact.

MozReview-Commit-ID: BvgRrC8KMIp
2016-02-18 15:54:13 +00:00
Mats Palmgren
0c285fc1aa Bug 1216001 part 3 - Cache the result of IsSelected() for the duration of painting. r=bz 2016-02-13 18:40:23 +01:00
Phil Ringnalda
6cdb00759a Back out 3 changesets (bug 1216001) for Win8 reftest failures in 1193519-sideways-lr-3.html and 1193519-sideways-lr-4.html and intermittent OS X failures in font-display-2.html
CLOSED TREE

Backed out changeset dbadb8fe5803 (bug 1216001)
Backed out changeset a30593ebd58e (bug 1216001)
Backed out changeset c1646ffa71b4 (bug 1216001)
2016-02-11 20:43:41 -08:00
Mats Palmgren
4bf6e26e18 Bug 1216001 part 3 - Cache the result of IsSelected() for the duration of painting. r=bz 2016-02-12 02:13:57 +01:00
Matt Woodrow
db52fce5c3 Bug 1216832 - Handle preserve-3d visible regions during display list building by always transforming from the preserve-3d root each time. r=roc 2016-02-12 00:18:55 +13:00
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Markus Stange
c1663a433e Bug 1241275 - Change the way -moz-window-dragging works. r=heycam,roc
This adds the value -moz-window-dragging: default as the initial value of the property,
and makes it a [reset] property. This allows us to change the way the window dragging
region is calculated: Elements with -moz-window-dragging: no-drag will now always be
undraggable, even if they are overlapped by -moz-window-dragging: drag elements. That
way we can keep the region calculation simple and don't have to add code to respect
z-ordering.
2016-01-27 11:58:33 +01:00
Xidorn Quan
ca146f45ac Bug 1230034 part 5 - Convert all frame properties which use DeleteValue and ReleaseValue as destructor to be typesafe. r=dbaron
By changing signature of those two functions, we make compiler complain about
all their existing uses, so we can find all of them and convert them.

Some of the callsites of Get() with those properties are also converted, but not
all of them. It is fine because if there is any incorrect conversion, compilers
is able to find out now. So they are completely typesafe.
2016-01-28 14:23:59 +11:00
Xidorn Quan
8e2ada8719 Bug 1230034 part 4 - Make FramePropertyDescriptor to be a template. r=froydnj,dbaron
This patch makes methods of FramePropertyTable and FrameProperties to be
simple template wrapper functions. Then it converts all references to
FramePropertyDescriptor to use "void" parameter to simulate the current
unsafe behavior.

SmallValueHolder is used for storing small values like int32_t, float,
which can fit in the size of a pointer directly, and thus no lifetime
management is needed.
2016-01-28 14:23:59 +11:00
Matt Woodrow
e00faca696 Bug 1240073 - Use the transformed frame as the AGR for active transform so that FrameLayerBuilder knows that they can move independently. r=tnikkel 2016-01-21 17:02:31 +13:00
Matt Woodrow
1735793d30 Bug 1230774 - Use correct Z order to sort perspective items. r=roc 2016-01-27 23:34:39 +13:00
Matt Woodrow
6ef14c6b77 Back out d79c5f78243f (bug 1240073) for reftest and crashtest crashes. CLOSED TREE 2016-01-27 10:46:55 +13:00
Matt Woodrow
e2c6a156d4 Bug 1240073 - Use the transformed frame as the AGR for active transform so that FrameLayerBuilder knows that they can move independently. r=tnikkel 2016-01-21 17:02:31 +13: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
Thinker K.F. Li
8bdb2e2406 Bug 1228716 - Give different frame keys for nsDisplayBlendContainer. r=roc 2016-01-11 02:34:00 +01:00
Matt Woodrow
2b68e98cfd Bug 1230780 - Propagate preserve-3d handling through nsDisplayPerspective. r=thinker 2015-12-17 16:22:49 +13:00
Matt Woodrow
e766b14a9d Bug 1230693 - Rebase transforms to the origin for callers than don't want them offset. r=mstange 2015-12-17 12:36:24 +13:00
Nicholas Nethercote
9e0b88bf43 Bug 1237457 - Partially Moz2Dify nsDisplayGeneric. r=roc. 2015-12-03 19:16:59 -08: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
a40b8c90ca Bug 1232852 (part 6) - Remove unused parameters from some layout sort functions. r=tn. 2016-01-05 16:08:17 -08:00
Nicholas Nethercote
44ff3e796f Bug 1232852 (part 5) - Remove some unused parameters in and around layout/base/. r=heycam. 2016-01-05 16:08:17 -08:00
Kearwood (Kip) Gilbert
2773eeacb8 Bug 1182048 - Part 2: Implement e10s support for WebVR,r=vlad 2015-09-17 14:23:13 -07:00
Thinker K.F. Li
0c6fef88db Bug 1226904 - Fix boundary checking for leaves collecting. r=roc 2015-12-22 19:17:00 -05: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