Commit Graph

2663 Commits

Author SHA1 Message Date
Markus Stange
edb5820ed5 Bug 1298218 - Create nsDisplayFixedPosition if the element has a scrolled clip. r=mattwoodrow
MozReview-Commit-ID: Kvqs6YkeGZ
2016-08-24 16:34:31 -04:00
Markus Stange
683672b065 Bug 1298218 - Use DisplayItemClipChain for tracking clips on display items. r=mattwoodrow,tnikkel
This is the bulk of the changes.
 - DisplayItemScrollClip is removed. Instead, we will have 1) ActiveScrolledRoot
   and 2) DisplayItemClipChain.
 - ActiveScrolledRoot points to a scroll frame and allows traversing up the
   scroll frame chain.
 - DisplayItemClipChain is a linked list of clips, each clip being associated
   with the ActiveScrolledRoot that moves this clip.
 - Each display item has an ActiveScrolledRoot and a clip chain.
 - nsDisplayItem::GetClip returns the item of the clip chain that scrolls with
   the item's ASR. The separation between "regular clip" and "scroll clips"
   mostly goes away.
 - Tracking clips in the display list builder's clip state happens very
   similarly to how regular clips used to be tracked - there's a clip chain for
   content descendants and a clip chain for containing block descendants. These
   clip chains are intersected to create the combined clip chain.
 - There are strict rules for the ASR of a container item: A container item's
   ASR should be the innermost ASR which the item has finite clipped bounds with
   respect to.
 - At some point in the future, ASRs and AGRs should be reunified, but I haven't
   done that yet, because I needed to limit the scope of the change.

MozReview-Commit-ID: KYEpWY7qgf2
2017-01-31 17:07:35 -05:00
Markus Stange
a27b6fe220 Bug 1298218 - Back out bug 1284586. r=tnikkel
MozReview-Commit-ID: FGNKyDcoEyF
2016-08-19 18:17:36 -04:00
Neerja Pancholi
01c4e7c72f Bug 1166147 - Part3: Override GetWritingMode() and make it more robustly defer to root element, to avoid truncating printed vertical-WM docs. r=dholbert
MozReview-Commit-ID: IYM3gzf1CpS
2017-01-30 13:22:45 -08:00
Boris Chiou
fc4bb900ab Bug 1324691 - Part 3: Support AnimationsWithDestroyedFrame for ServoRestyleManager. r=heycam
MozReview-Commit-ID: 4cQ6PoieLLG
2017-01-27 12:45:46 +08:00
Boris Chiou
9a29980c26 Bug 1324691 - Part 2: Move AnimationsWithDestroyedFrame into RestyleManagerBase. r=hiro
Both ServoRestyleManager and RestyleManager need AnimationsWithDestroyedFrame,
so move it to the base class.

MozReview-Commit-ID: BswoDYm0gS1
2017-01-26 17:05:53 +08:00
Ting-Yu Lin
19193f8928 Bug 1332105 Part 1 - Convert SelectionDetails and related functions to use UniquePtr. r=dholbert
For the non-owning pointer usage like iterating SelectionDetails's linked
list, it's sufficient to use SelectionDetails*.

MozReview-Commit-ID: 7PCFhD6Iz8j
2017-01-20 17:39:57 +08:00
Xidorn Quan
21a6945f0b Bug 1326189 part 1 - Apply :visited style for caret-color. r=dholbert
MozReview-Commit-ID: DQqSdCz2TEC
2017-01-19 23:07:25 +08:00
Mats Palmgren
ca0718d7df Bug 1328030 - Improve selecting content that contains elements with anonymous content (form controls etc). r=smaug
Two changes:
In nsIFrame::GetFrameFromDirection, detect frames that are in
a different anonynous content tree than 'this' and then just keep
traversing frames until we get one that isn't.

In nsFrame::GetLastLeaf: the old code did allow the first child frame
to be IsRootOfNativeAnonymousSubtree (it just checked siblings).
I think this was unintentional and that we should check the first
child too (and return its parent in that case, i.e. never return
something that is IsRootOfNativeAnonymousSubtree here).
2017-01-11 16:57:27 +01:00
Sebastian Hengst
6198cc209b Backed out changeset e0c4890bcfb4 (bug 1328030) 2017-01-10 22:36:33 +01:00
Mats Palmgren
c8131b2d1f Bug 1328030 - Improve selecting content that contains elements with anonymous content (form controls etc). r=smaug
Two changes:
In nsIFrame::GetFrameFromDirection, detect frames that are in
a different anonynous content tree than 'this' and then just keep
traversing frames until we get one that isn't.

In nsFrame::GetLastLeaf: the old code did allow the first child frame
to be IsRootOfNativeAnonymousSubtree (it just checked siblings).
I think this was unintentional and that we should check the first
child too (and return its parent in that case, i.e. never return
something that is IsRootOfNativeAnonymousSubtree here).
2017-01-10 21:37:49 +01:00
Ting-Yu Lin
5e5d8d3fb5 Bug 1320014 Part 14 - Convert NS_SIDE_TO_HALF_CORNER to a constexpr function. r=mats
MozReview-Commit-ID: 4MQu8omCdcg
2017-01-05 16:23:16 +08:00
Ting-Yu Lin
af47d31824 Bug 1320014 Part 12 - Convert NS_SIDE_IS_VERTICAL to a constexpr function. r=mats
MozReview-Commit-ID: GFdigJKppuR
2017-01-05 16:07:02 +08:00
Ting-Yu Lin
846bed1021 Bug 1320014 Part 9 - Convert NS_HALF_CORNER_IS_X to a constexpr function. r=mats
MozReview-Commit-ID: 3d2opSIjAUc
2017-01-05 14:30:14 +08:00
Ting-Yu Lin
7d7ef90375 Bug 1320014 Part 7 - Convert half corner indices #define to an enum. r=mats
MozReview-Commit-ID: 8lNtjV14WTN
2017-01-05 11:31:38 +08:00
Phil Ringnalda
2e5fb7e224 Merge m-i to m-c, a=merge
MozReview-Commit-ID: L58yTXbUD21
2017-01-01 11:17:06 -08:00
Phil Ringnalda
f1418af1e7 Merge m-c to m-i
MozReview-Commit-ID: 6JjpxZR3ese
2016-12-31 11:32:38 -08:00
Mats Palmgren
a9f5e42437 Bug 1325355 part 2 - Rename nsIFrame::GetWritingMode to WritingModeForLine to make its purpose clearer. r=jfkthame 2016-12-31 18:16:32 +01:00
Mats Palmgren
62f5170522 Bug 1325355 part 1 - Make nsIFrame::GetWritingMode take a WritingMode param instead of calling this->GetWritingMode(). r=jfkthame 2016-12-31 18:16:32 +01:00
Xidorn Quan
8de7838e67 Bug 1326209 part 2 - Change background-color to use complex color. r=dholbert
MozReview-Commit-ID: 1n3TC3CVY7U
2016-12-30 02:03:29 +11:00
Xidorn Quan
08864e7be4 Bug 1322843 part 2 - Conditionally keep some floats in InlinePrefISizeData::ForceBreak. r=dbaron
This patch makes ForceBreak() partially clear floats according to the
break type of the coming block.

MozReview-Commit-ID: 71Gl9lBoTJ5
2016-12-22 18:30:38 +11:00
Xidorn Quan
7749bec582 Bug 1063162 part 2 - Implement caret-color property. r=dholbert
MozReview-Commit-ID: DH7CX1d477R
2016-12-22 11:04:15 +11:00
Sebastian Hengst
fb193b9c59 Backed out changeset 148e65bd3f3b (bug 1063162) 2016-12-22 17:43:34 +01:00
Xidorn Quan
dba629b7be Bug 1063162 part 2 - Implement caret-color property. r=dholbert
MozReview-Commit-ID: DH7CX1d477R
2016-12-22 11:04:15 +11:00
Hiroyuki Ikezoe
d45d3afa41 Bug 1323121 - Destroy animations on hidden elements even if the animation has been already finished. r=birtles
We have added a test case in bug 1197620 that finished animation with
fill:forwards on hidden elements restarts when the element gets visible, but
it did not catch this bug. We should have added a case without fill:forwards.

MozReview-Commit-ID: 5lfJkO3i9ME
2016-12-19 14:00:43 +09:00
Botond Ballo
ee7fdb41ef Bug 1321412 - Add support for partial prerendering to ShouldPrerenderTransformedContent(). r=mattwoodrow
This is behind a pref and not enabled by default yet.

MozReview-Commit-ID: HKbP02PkdI9
2016-12-14 14:31:20 -05:00
Botond Ballo
b82168d8fa Bug 1321412 - Allow ShouldPrerenderTransformedContent() to override the dirty rect. r=mattwoodrow
MozReview-Commit-ID: 5EpiANOynwP
2016-11-23 16:50:47 -05:00
Botond Ballo
f2710443c3 Bug 1321412 - Change the return type of ShouldPrerenderTransformedContent() to an enum. r=mattwoodrow
MozReview-Commit-ID: EMTdW46D8cM
2016-11-23 12:58:59 -05:00
Botond Ballo
e4025d2886 Bug 1321412 - Feed the return value of ShouldPrerenderTransformedContent() directly into nsDisplayTransform::mAllowAsyncAnimation. r=mattwoodrow
MozReview-Commit-ID: L00D3h5PhTF
2016-11-23 12:53:46 -05:00
Tomislav Jurin
9ff3007b90 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Hiroyuki Ikezoe
af96c2909a Bug 1319378 - Don't set NS_FRAME_MAY_BE_TRANSFORMED against nsIFrame that does not support transforms. r=dbaron
MozReview-Commit-ID: CuDA14ktcDL
2016-11-28 14:19:40 +09:00
Carsten "Tomcat" Book
9ffca9592c Merge mozilla-central to autoland 2016-11-29 11:50:17 +01:00
Ryan Hunt
86b8407e6a Bug 1303408 - Create nsDisplayLayerEventRegions for positioned elements. r=mattwoodrow 2016-11-23 16:24:29 -06:00
Phil Ringnalda
7bec8c8dc8 Backed out changeset 8611e9d0bdaa (bug 1319378) for Win8 reftest failures in table-overflowed-by-animation.html 2016-11-28 22:06:06 -08:00
L. David Baron
6eb5c8ff40 Bug 1320815 - DeCOMtaminate nsIFrame::IsSelectable by returning boolean instead of nsresult. r=xidorn
MozReview-Commit-ID: EBxBcEgIvp7
2016-11-28 15:31:29 -08:00
L. David Baron
9fd21ed78d Bug 1320815 - Make nsIFrame::IsSelectable non-virtual, and move implementation from nsFrame to nsIFrame. r=xidorn
MozReview-Commit-ID: HphEFug7EbQ
2016-11-28 15:31:29 -08:00
Hiroyuki Ikezoe
6eb03b65bc Bug 1319378 - Don't set NS_FRAME_MAY_BE_TRANSFORMED against nsIFrame that does not support transforms. r=dbaron
MozReview-Commit-ID: CuDA14ktcDL
2016-11-28 14:19:40 +09:00
Cameron McCormack
e45bbb1039 Bug 1320423 - Null check cursor images to handled failed loads. r=dbaron 2016-11-26 15:00:53 +08:00
Ting-Yu Lin
7e10b6ab51 Bug 1317588 Part 3 - Remove #define NS_SIDE_TOP/RIGHT/BOTTOM/LEFT. r=mats
This patch was written with the help of the following script. Also, manually
add mozilla qualifier to the enum values in nsStyleCoord.h, gfxRect.h, and
Types.h to make it build.

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "NS_SIDE_TOP" "eSideTop"
rename "NS_SIDE_RIGHT" "eSideRight"
rename "NS_SIDE_BOTTOM" "eSideBottom"
rename "NS_SIDE_LEFT" "eSideLeft"

MozReview-Commit-ID: 9T0ORsqM6nP
2016-11-18 18:12:25 +08:00
Mats Palmgren
e676b4f515 Bug 1316051 part 4 - [css-grid][css-flexbox] Use the alignment container of the table-wrapper frame also for its child frames. r=dholbert 2016-11-18 19:08:31 +01:00
Ting-Yu Lin
e43ee61bfb Bug 1309467 Part 5 - Make flow area of <shape-box> values respect border-radius. r=dbaron
In GetFlowArea(), "Shrink our band's height if needed." computation was
moved to the end because we need to pass the unmodified |blockEnd| to
compute LineRight() and LineLeft().

Revamp OutsetBorderRadii() to allow negative margin to reduce the radius,
but not below zero. Also implement the cubic formula required by the spec.
https://drafts.csswg.org/css-shapes/#valdef-shape-box-margin-box

OutsetBorderRadii() is now tailored only for margin-box with border-radius,
so it might no longer be suitable for other scenarios.

MozReview-Commit-ID: HKxW7rp6sIA
2016-10-13 16:28:38 +08:00
Mats Palmgren
1e335a814c Bug 1316029 - [css-grid] Implement Automatic Minimum Size clamping for grid items with an intrinsic size but without an intrinsic ratio. r=dholbert 2016-11-11 18:28:43 +01:00
Mats Palmgren
fd6603fbd1 Bug 1315857 - [css-grid] Stretch/clamp intrinsic ratio grid items that have a definite size in one axis. r=dholbert 2016-11-11 18:28:43 +01:00
Mats Palmgren
eaa57745bf Bug 1315383 part 3 - [css-grid] Don't try to preserve intrinsic ratio when applying min/max-size, if either axis has 'stretch' alignment. r=dholbert 2016-11-11 18:28:43 +01:00
Mats Palmgren
21dfa485ac Bug 1315383 part 2 - [css-grid] Make Automatic Minimum Size clamping preserve the intrinsic ratio, unless either axis has 'stretch'. r=dholbert 2016-11-11 18:28:43 +01:00
Mats Palmgren
5b10624072 Bug 1315383 part 1 - [css-grid][css-align] Make 'normal' preserve the intrinsic ratio, but not 'stretch'. r=dholbert 2016-11-11 18:28:42 +01:00
Thinker K.F. Li
8541813a79 Bug 1230425 - Fix the test of transform of Combines3DTransformWithAncestors. r=mattwoodrow 2016-11-10 06:00:00 -05:00
Mats Palmgren
62c388a6a0 Bug 1314206 part 2 - [css-grid] Don't check for unconstrained inline size since it never occurs (other than by accident). r=dholbert 2016-11-05 02:57:08 +01:00
Mats Palmgren
46f21d6580 Bug 1314206 part 1 - [css-grid] Stretch the inline size when requested, unless we're measuring the shrink-wrap size. r=dholbert 2016-11-05 02:57:08 +01:00
Mats Palmgren
6759966415 Bug 1300369 part 12b - Make nsIFrame::ComputeISizeValue clamp the min-content size when eIClampMarginBoxMinSize is in aFlags. r=dholbert 2016-11-05 02:57:07 +01:00