Commit Graph

1522 Commits

Author SHA1 Message Date
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
da83956e62 Bug 1192910 - Stop triggering repaints when the displayport margins change without the displayport changing. r=kats
MozReview-Commit-ID: K1g6sNlZdRk
2016-03-07 16:27:41 -05:00
Sebastian Hengst
d37d8f6945 Backed out changeset 8abae7731417 (bug 1192910) for OS X 10.10 opt R-e10s bustage. r=backout 2016-03-08 14:43:43 +01:00
Markus Stange
27c7444731 Bug 1192910 - Stop triggering repaints when the displayport margins change without the displayport changing. r=kats
MozReview-Commit-ID: K1g6sNlZdRk
2016-03-07 16:27:41 -05:00
Sebastian Hengst
a0ec278275 Backed out changeset 4a56c6dc4c7e (bug 1192910) for permafailing R-e10s on OS X 10.10. r=backout 2016-03-08 11:07:39 +01:00
Markus Stange
56d49bac4b Bug 1192910 - Stop triggering repaints when the displayport margins change without the displayport changing. r=kats
MozReview-Commit-ID: K1g6sNlZdRk
2016-03-07 16:27:41 -05:00
Kartikaya Gupta
efc7227539 Bug 1251937 - Don't align to tiles when displayport suppression is enabled. r=BenWa
MozReview-Commit-ID: JMSqpMPUcpv
2016-03-07 16:23:23 -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
L. David Baron
ce01f6bd2d Bug 1250342 patch 5 - Additional comment and variable name changes that should have been in patches 1 or 3.
MozReview-Commit-ID: IniRrCKSNuZ
2016-02-24 11:06:25 -08:00
L. David Baron
f57b2437ab Bug 1250342 patch 3: Rename preference layout.css.text-align-true-value.enabled to layout.css.text-align-unsafe-value.enabled . r=mats
MozReview-Commit-ID: 6IKnuvxZQcI
2016-02-24 10:40:30 -08:00
L. David Baron
4ced313a4c Bug 1250342 patch 1: Rename exposed keyword for text-align: true to unsafe. r=mats
MozReview-Commit-ID: LYR3LtMtT2Q
2016-02-24 10:40:30 -08:00
L. David Baron
159ba51274 Bug 1247929 patch 2 - Hard-code the Web-compatible set of form controls whose intrinsic minimum inline-size shrinks to 0 when inline-size (width) is specified as a percentage. r=dholbert
This adjusts the behavior previously modified by bug 823483 patch 2 and
bug 823483 patch 5.

MozReview-Commit-ID: 5IjYhFLUr68
2016-02-24 10:40:29 -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
Cameron McCormack
8a879b8032 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Wes Kocher
35a1a6f191 Backed out 3 changesets (bug 1250342) for reftest failures in text-align-true.html CLOSED TREE
Backed out changeset 0eae0890ee11 (bug 1250342)
Backed out changeset e82e430d0eda (bug 1250342)
Backed out changeset 866f8a7337df (bug 1250342)
2016-02-23 13:10:40 -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
L. David Baron
b2207d6cb4 Bug 1250342 patch 3: Rename preference layout.css.text-align-true-value.enabled to layout.css.text-align-unsafe-value.enabled . r=mats
MozReview-Commit-ID: 6IKnuvxZQcI
2016-02-23 09:41:48 -08:00
L. David Baron
f44ba82554 Bug 1250342 patch 1: Rename exposed keyword for text-align: true to unsafe. r=mats
MozReview-Commit-ID: LYR3LtMtT2Q
2016-02-23 09:41:47 -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
Aidin Gharibnavaz
9e61252906 Bug 1235830 - Renaming GetInternalNSEvent to WidgetEvent, in nsIDOMEvent r=smaug
MozReview-Commit-ID: Hm8Owq17KXn
2016-02-12 19:10:07 +03:30
Timothy Nikkel
c37fab9118 Bug 1246443. Don't make nsLayoutUtils::MaybeCreateDisplayPort also set the displayport base anymore. r=botond
It's not obvious that it does this (unless you read the comment or the code), and we don't gain much by doing it.

Also we need to split it up for the next patch in this bug.
2016-02-12 16:58:34 -06:00
Kartikaya Gupta
2139025336 Bug 1235899 - Don't allow frame reconstruction to clobber the APZ scroll offset. r=botond
MozReview-Commit-ID: HZMavMJNtmq
2016-02-10 16:31:20 -05:00
Robert O'Callahan
d1728fb5bf Bug 1194466. Use the table-outer frame's margin when requesting the margin for table element with getBoxQuads. r=mats 2016-02-02 22:47:15 +13:00
L. David Baron
3ef080e413 Bug 1245075 patch 1 - Remove assertion, since it can fire during frame destruction. r=dholbert
Without this patch, patch 2 will cause assertions since
nsFrame::DestroyFrom calls nsFrame::HasCSSAnimations (at a time when the
child frame has been destroyed), which calls into the code modified in
patch 2 to call GetStyleFrame.
2016-02-07 08:43:48 -08:00
Kartikaya Gupta
23b63e0d6f Bug 990916 - On displayport expiry, trigger another round of expiry up the ancestor chain. r=tnikkel 2016-02-03 19:13:35 -05:00
Kartikaya Gupta
ba4a7c0c09 Bug 990916 - When setting a displayport, schedule a timer to remove it as well. r=tnikkel 2016-02-03 19:13:35 -05:00
L. David Baron
3e24814e35 Bug 823483 patch 5 - Make (again) percentage width on text inputs make intrinsic minimum width be 0. r=dholbert
This restores the quirky behavior for text inputs, which was removed by
patch 2, but only halfway (for width but not max-width), which matches
Chromium and Edge.
2016-02-04 09:43:02 +11:00
L. David Baron
bb7f799a35 Bug 823483 patch 4 - Make a percentage max-width override a fixed width for replaced element intrinsic size computation. r=dholbert
This just reorders the if-else chain to change which conditions are
tested first.  Prior to patch 1, the order didn't matter, but with patch
1, the order does matter, and the order that we happened to have was the
opposite of the one that matches Chromium and Edge.
2016-02-04 09:43:02 +11:00
L. David Baron
e7d7a75dcc Bug 823483 patch 3 - Limit effect of percentage width and max-width on intrinsic size to elements with replaced element sizing. r=dholbert
This reduces the set of elements to which this quirky behavior applies.

This matches the behavior of Chromium and Edge.
2016-02-04 09:43:02 +11:00
L. David Baron
8f271d85c1 Bug 823483 patch 1 - Check for percentage max-width in addition to percentage width when deciding to ignore intrinsic min-width of replaced elements. r=dholbert
This (modulo changes in later patches) matches the behavior of Chromium
and Edge.  It increases the set of elements to which this quirky
behavior applies.
2016-02-04 09:43:02 +11: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
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Ting-Yu Lin
122e5b9aeb Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats 2016-01-29 22:42:14 +08:00
CJKu
ff44f07acd Bug 686281 - Rename *background* to *imagelayer*; r=dbaron. 2016-01-28 06:27:00 +01:00
CJKu
d5371994d3 Bug 686281 - Implement nsStyleImageLayers; r=dbaron 2016-01-28 06:24:00 +01:00
Xidorn Quan
c26e860288 Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron 2016-01-28 14:23:59 +11:00
Xidorn Quan
b2c10ecc29 Bug 1229437 part 1 - Add a helper function to get the float containing block of a given frame. r=dbaron 2016-01-27 16:58:53 +11:00
Timothy Nikkel
ec740ce090 Bug 1241371. Don't schedule an image visibility update every time display port margins change. r=kats
Displayport margins change by small amounts on almost every single scroll. We do not want to update image visibility nearly that often.

As the comment, and the original bug (bug 1169881) suggest this is only meant to catch rather large changes in display ports as we already have means to trigger an image visibility update via a scroll position change and via any style or layout flush.
2016-01-22 00:29:17 -06:00
Randall Barker
4b7b60835b Bug 1231517 - part 1, Move GetBoundingContentRect to nsLayoutUtils r=botond 2016-01-20 16:24:57 -08:00
Kartikaya Gupta
4514368ab9 Bug 1226826 - Record paint times in the checkerboard event. r=botond 2016-01-15 16:19:59 -05:00
Nigel Babu
95736293e6 Backed out 4 changesets (bug 1226826) for widespread bustage
Backed out changeset 95d373bec568 (bug 1226826)
Backed out changeset bb9970d440a4 (bug 1226826)
Backed out changeset 6c1fa0dc6bd7 (bug 1226826)
Backed out changeset 400ebf504171 (bug 1226826)
2016-01-14 08:33:11 +05:30
Kartikaya Gupta
fe920e7296 Bug 1226826 - Record paint times in the checkerboard event. r=botond 2016-01-13 15:46:08 -05:00
Timothy Nikkel
f7160a3a40 Bug 1237813. Refactor nsLayoutUtils::FindScrollableFrameFor to use GetScrollFrameFromContent. r=botond 2016-01-12 00:14:30 -06:00
Daniel Holbert
9720cb35d4 Bug 1238777: Bail early from ComputeSnappedImageDrawingParameters if we're somehow drawing from a 0-sized subimage. r=tn 2016-01-11 17:56:41 -08:00
Timothy Nikkel
f4720c9d86 Bug 1237825. Find the root scroll frame even if the root element doesn't have a primary frame. r=mstange
Even though the content of the root scroll frame is the root element, the primary frame of the root element is never the root scroll frame. This is even true if the normal primary frame of the root element is not created (say because it is display: none). Leaving the primary frame of the root element to be null even though there are frames (the root scroll frame, and the canvas frame) that have the root element as their content.

This behaviour is more consistent by not ignoring a root scroll frame when it exists.
2016-01-11 00:02:43 -06:00
Timothy Nikkel
555d279726 Bug 1234725. Don't change the dirty rect to the display port when building display lists for documents. r=mstange
Instead do it when we first encounter the root scroll frame.

Doing this goes back to bug 635053, where we did it because fixed position items weren't getting included. However in bug 974643 we learned that this was wrong. Displayports aren't relevant to fixed pos content, displayports are only relevant to scrolled content. And we set the dirty rects of fixed pos content specially. The only other thing that should be affected is scrollbars, and we already carefully set their dirty rects too.
2016-01-09 00:25:58 -06:00