Commit Graph

1420 Commits

Author SHA1 Message Date
CJKu
110d895ffb Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-12 21:58:22 +08:00
Cameron McCormack
4d84720983 Bug 1261754 - Part 11: Move opacity from nsStyleDisplay to nsStyleEffects. r=dholbert 2016-04-12 15:52:43 +10:00
Cameron McCormack
4496226b12 Bug 1261754 - Part 8: Move box-shadow from nsStyleBorder to a new nsStyleEffects struct. r=dholbert 2016-04-12 15:52:42 +10:00
Cameron McCormack
98ad26ea1a Bug 1261754 - Part 7: Move pointer-events from nsStyleVisibility to nsStyleUserInterface. r=dholbert 2016-04-12 15:52:41 +10:00
Botond Ballo
6ca089f738 Bug 1259296 - Do not scroll snap on the main thread for wheel events handled by APZ. r=kats
MozReview-Commit-ID: DudrJuO4pFM
2016-04-04 17:46:12 -04:00
Matt Woodrow
30faa24b59 Bug 852754 - Part 4: Reduce max downscaling allowed to <3. r=mstange 2016-04-07 18:54:57 +12: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
Matt Woodrow
89bf114304 Bug 1238928 - Don't assume that our child list is unchanged in nsDisplayPerspective::BuildLayer. r=tnikkel 2016-04-01 14:37:15 +13: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
Seth Fowler
d5b59e6987 Bug 1255362 - Null-check GetContainer() before using it in image-related ConfigureLayer() methods. r=mstange a=Tomcat 2016-03-11 15:12:07 +08:00
Daisuke Akatsuka
6e47cd9f0c Bug 1237173 - Part2: Change type of duration to Maybe<StickyTimeDuration>. r=birtles 2016-03-09 14:14:20 +09:00
Kartikaya Gupta
35f18df549 Bug 1205473 - Add a state bit to optimize building event regions. r=mattwoodrow
MozReview-Commit-ID: CPSgChJc92L
2016-03-09 17:29:41 -05: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
Brian Birtles
bd2759cad0 Bug 1239945 part 6 - Templatize AnimationCollection based on the concrete type of Animation stored; r=dholbert
This patch templatizes the type of Animation stored in an AnimationCollection.
This allows us to remove a number AsCSSAnimation() calls in nsAnimationManager.

This patch also removes the AnimationPtrArray typedef. In its place we
introduce OwningCSSAnimationPtrArray and OwningCSSTransitionPtrArray but we
don't use these as widely. There was some comment previously that the typedefs
in animation code make it hard to read, particularly when these typedefs don't
make it clear if the data type is an owning reference or not.

In doing this we need to templatize CommonAnimationManager as well and move the
implementation of its (few) methods to the header file. We may be able to
remove the need for templatizing CommonAnimationManager later in this patch
series depending on how we ultimately decide to handle the lifetime of
AnimationCollection objects.

CommonAnimationManager::GetAnimationCollection is a bit messy but this will be
significantly tidied up in subsequent patches in this series.

MozReview-Commit-ID: 3ywatY53pRR
2016-03-09 12:55:39 +09:00
Markus Stange
bc05d1d4c1 Bug 1248913 - Make nsDisplayBlendContainer active or inactive based on its contents. r=mattwoodrow
MozReview-Commit-ID: GN0084Rrmlm
2016-03-08 14:39:07 -05: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
225b73b9f3 Bug 1248913 - Let nsDisplayBackgroundImage specify the background blend mode. r=mattwoodrow
This is needed because blending for nsDisplayBackgroundImage items will soon
happen outside of nsDisplayBackgroundImage::Paint, it will be done by an
nsDisplayBlendMode item that wraps the nsDisplayBackgroundImage item.

MozReview-Commit-ID: 20cILOGVFEG
2016-03-08 16:54:09 -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
Seth Fowler
ff14d33f49 Bug 1251804 - Use the ImageContainer's size and not the intrinsic size when computing the transform in nsDisplayImage::ConfigureLayer. r=tn 2016-03-07 17:06:04 -08:00
Kartikaya Gupta
c6f4e7c3b4 Bug 1107143 - Don't build event regions unless we're painting to the window. r=tnikkel
MozReview-Commit-ID: LRN8S7buXLL
2016-03-07 17:08:31 -05:00
Hiroyuki Ikezoe
769661dcdd Bug 1196114 - Part 5: Store performce warning information as enum type. r=birtles
Each warning message is generated only when getPropertyState() is called.

MozReview-Commit-ID: C03ZSvPv9ff
2016-03-04 17:54:25 +09:00
Hiroyuki Ikezoe
a48ac161a7 Bug 1196114 - Part 4: Localize messages for animation performance warnings. r=birtles
MozReview-Commit-ID: LPSHU2T3oP4
2016-03-04 15:48:50 +09: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
Daisuke Akatsuka
8c6c245e91 Bug 1248338 - Implement iterationStart; r=birtles 2016-03-02 16:23:34 +09:00
Nicholas Nethercote
a554684d4d Bug 1252374 - Increase the chunk size of the displayListArena. r=roc.
It reduces the number of malloc/free calls and may reduce malloc heap
fragmentation.
2016-03-01 16:48:31 +11: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
David Anderson
e1bf50b420 Require mix-blend mode support in all compositors and layer managers. (bug 1209278 part 1, r=mstange) 2016-02-23 10:11:21 -08:00
Cameron McCormack
471cf640eb Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11: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
David Anderson
db3003e930 Require mix-blend mode support in all compositors and layer managers. (bug 1209278 part 1, r=mstange) 2016-02-23 10:11:21 -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
kearwood
ccf22e27a5 Bug 1237689 - Enable Oculus hardware latency tester r=daoshengmu
- Generate and pass sequential frame indexes into the ovr_GetTrackingState call and the corresponding call to ovr_SubmitFrame

MozReview-Commit-ID: 5tJl5YJt7Eo
2016-01-08 18:50:10 -08:00
Matt Woodrow
ca46c496d3 Bug 1246622 - Handle nested preserve-3d contexts when hit testing. r=roc 2016-02-15 09:47:57 +13: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
Bogdan Postelnicu
23dbbfa2d3 Bug 1246892 - pass aCTF as a reference instead of value. r=roc 2016-02-09 12:00:59 +02:00
Dirk Schulze
6a3a90528f Bug 1075457, part 1 - Implement rendering for |clip-path:polygon()|. r=mstange, r=jwatt 2016-02-08 22:08:09 +00:00