Commit Graph

2033 Commits

Author SHA1 Message Date
L. David Baron
2f53d7f019 Bug 1053986 - Rename nsFrame.cpp static method IsBoxWrapped to IsXULBoxWrapped. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: EOh204RMxmi
2016-04-20 21:28:30 -07:00
L. David Baron
7511e4ea42 Bug 1053986 - Rename nsIFrame::IsBoxFrame to IsXULBoxFrame. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

But with additional manual changes in accessible/.

MozReview-Commit-ID: W0wUPoQsVH
2016-04-20 21:28:30 -07:00
Nathan Froyd
d7b5415e7b Bug 1264784 - part 2 - remove unused virtual methods from nsIFrame; r=dholbert
There are no callers of these methods in mozilla-central, and having
them in the vtable of nsIFrame (and its 100+ subclasses!) consumes
needless space.
2016-04-15 19:37:35 -04:00
CJKu
8eacf30983 Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-14 16:28:07 +08:00
Carsten "Tomcat" Book
3b36687a1f Backed out changeset 6a2e62e8c861 (bug 759568) 2016-04-14 08:57:41 +02:00
CJKu
f51f239496 Bug 759568 - Part 2. Render background-clip:text; r=jfkthame
MozReview-Commit-ID: HQHBe7OioWs
2016-04-14 12:45:38 +08:00
Mats Palmgren
1a83f57b72 Bug 645647 part 4 - Add an 'm' prefix to some members to follow our naming conventions. r=dholbert 2016-04-14 01:32:12 +02:00
Mats Palmgren
b7644da205 Bug 645647 part 3 - Remove unused trailingTextFrame member. r=dholbert 2016-04-14 01:32:12 +02:00
Mats Palmgren
c066fae6e9 Bug 645647 part 1 - Don't let empty bullet frames block suppressing white-space in intrinsic size calculations. r=dholbert 2016-04-14 01:32:12 +02:00
Sebastian Hengst
e99225a2fb Backed out changeset e64951d74d2a (bug 759568) 2016-04-12 17:55:44 +02: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
Jonathan Watt
947f9705a7 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
Boris Chiou
0c86176cb4 Bug 1182856 - Part 3: Cancel transitions for destroy frames. r=heycam
Add HasCSSTransition() and cancel transitions for destroyed frames.
2016-04-10 21:29:00 +02:00
Cameron McCormack
a08ba659c3 Bug 1261754 - Part 12: Move filter from nsStyleSVGReset to nsStyleEffects. r=dholbert 2016-04-12 15:52:43 +10: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
424a4cab99 Bug 1261754 - Part 10: Move mix-blend-mode from nsStyleDisplay to nsStyleEffects. r=dholbert 2016-04-12 15:52:42 +10:00
Cameron McCormack
5c65b6f60f Bug 1261754 - Part 9: Move clip from nsStyleDisplay to nsStyleEffects. r=dholbert 2016-04-12 15:52:42 +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
Cameron McCormack
b1420ed1e1 Bug 1261754 - Part 6: Move vertical-align from nsStyleTextReset to nsStyleDisplay. r=dholbert 2016-04-12 15:52:41 +10: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
Markus Stange
26545e85ac Bug 1255068 - Add a check for null scrollid. r=kats
MozReview-Commit-ID: 15lbTMb76np
2016-03-24 16:19:14 -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
Markus Stange
584ddde8a7 Bug 1255068 - Do not allow empty transaction transform changes if the scroll position has changed since the last paint. r=kats, r=mattwoodrow
MozReview-Commit-ID: 7exuhuf3HTJ
2016-03-11 16:09:16 -05:00
Matt Woodrow
00e217d7ea Bug 1220466 - Don't build event region display items for pseudo stacking contexts, unless they are also an AGR. r=mstange 2016-03-10 13:55:00 +13: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
Brian Birtles
3ad43fba1f Bug 1239945 part 7 - Move GetAnimationCollection to AnimationCollection; r=dholbert
By moving GetAnimationCollection to AnimationCollection itself, we can remove
a bunch of virtual methods on the animation managers, simplify call sites,
and provide better type safety by ensuring a correspondence between element
property names and concrete animation types.

One change in behavior, however, is that in doing this we can no longer
add any newly-created AnimationCollection to the corresponding manager's linked
list of collections inside GetAnimationCollection. Instead we take a bool
outparam to indicate if a new collection was created and leave managing the
linked list to the manager. This is just a temporary measure, however, since
by the end of this patch series will will eliminate this linked list altogether
along with this flag.

MozReview-Commit-ID: 1jsc4QcmVDg
2016-03-09 12:55:39 +09: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
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
b3aac21902 Bug 1238564 - Don't do another pass over the display list to figure out ancestor scroll clips. r=mattwoodrow
MozReview-Commit-ID: BgySqVGG43R
2016-03-05 11:27:54 -05:00
Markus Stange
c218f8cd27 Bug 1238564 - When building a fixed/sticky display item, don't restore the clip until we're ready to build that item so that inner items aren't unnecessarily clipped. r=roc
This isn't really about regular clips, it's about scroll clips. If the inner
item has an unnecessary scroll clip (one that's already on the parent), this can
cause the inner item's bounds to be larger than necessary because, after the
first patch in bug 1238564, it will include the whole bounds of async-scrollable
scroll frames.
Also, if e.g. the inner item is an opacity item, and it has a scroll clip that's
not just the innermost ancestor scroll clip of all of its children, then
FrameLayerBuilder's mContainerBounds == mAccumulatedChildBounds assertion can
fail if the opacity item gets flattened away, because the child bounds won't
have been enlarged for the scroll clip.

There must be a better way to do the clip resetting in
nsFrame::BuildDisplayListForStackingContext - the code is not pretty at all.
But I'd rather get the tests passing first before we figure out how to clean it
up.

MozReview-Commit-ID: E1DdpN546va
2016-02-23 18:22:21 +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
Mats Palmgren
cd3dfc336c Bug 1225005 - Clamp negative values in containing block size. r=roc 2016-03-02 23:39:34 +01:00
Mats Palmgren
28822f727d Bug 1249913 - True overflow containers shouldn't have borders or background. r=dholbert 2016-03-02 23:39:34 +01: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
Cameron McCormack
cbb5f757f4 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11: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
Boris Chiou
32cdf253b7 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;
2016-02-17 21:37:00 +01:00
Boris Chiou
16edfa82cd Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron 2016-02-16 23:07:00 +01: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
Matt Woodrow
fe3f61260f Bug 1245450 - Only setup AutoSaveRestorePerspectiveIndex for the descendants of the element with perspective. r=roc 2016-02-15 23:21:52 +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
Matt Woodrow
5f57f1aaf4 Bug 1229317 - Allow preserve-3d and opacity to be combined on the root element of a preserve-3d chain. r=roc 2016-02-07 23:51:11 +13:00
Phil Ringnalda
b42e5c6dd4 Back out e751d638ab4b (bug 1229317) for reftest "Assertion failure: oldState < kReadMax" and crashes
CLOSED TREE
2016-02-05 22:42:55 -08:00
Matt Woodrow
5ed8180d76 Bug 1229317 - Allow preserve-3d and opacity to be combined on the root element of a preserve-3d chain. r=roc 2016-02-06 17:57:34 +13:00