Граф коммитов

415 Коммитов

Автор SHA1 Сообщение Дата
Daniel Holbert acccfe6d00 Bug 1454822 part 2: Cache the results of nsFlexContainerFrame::GetMinISize/GetPrefISize. r=mats
Assuming we call MarkIntrinsicISizesDirty in the appropriate scenarios, this
patch shouldn't change behavior - it just caches these values so we don't
needlessly recalculate them.

MozReview-Commit-ID: 8QY4AZJXshy

--HG--
extra : rebase_source : a7c87b03ac8240ba71efd2198ce1976d96c91f64
2018-04-17 17:06:26 -07:00
Daniel Holbert 14267669bd Bug 1454822 part 1: Refactor nsFlexContainerFrame::GetMinISize/GetPrefISize to be implemented via a common helper function. r=mats
This patch does not change behavior; it just merges the implementations of
these two functions into a single common function.

MozReview-Commit-ID: BqsRt3p2NQT

--HG--
extra : rebase_source : e8792f2bed3fd0708ffb38b91cf15a78cb6fbd59
2018-04-17 17:06:23 -07:00
Daniel Holbert 555deebbc9 Bug 1374540 part 3: Refactor nsFrame::ComputeSize methods to handle the two "used flex-basis of content" scenarios with a consistent codepath. r=mats
This patch doesn't change behavior.

It simply makes us share code/data for two different cases that both ended up
producing mainAxisCoord->GetUnit() == eStyleUnit_Auto.  Now, they'll *both* use
the same static nsStyleCoord to represent this "auto" value.

Originally, in one of these cases ("flex-basis:auto;[main-size-property]:auto),
we left the mainAxisCoord untouched. Now we'll point it at this dummy 'auto'
value. Either way we end up with mainAxisCoord->GetUnit() == eStyleUnit_Auto,
so the behavior doesn't change.

The next patch in this series will make further changes to one of these spots,
as noted in the "XXXdholbert" code-comment included here.

MozReview-Commit-ID: 5ClfbNHuKhO

--HG--
extra : rebase_source : 17efe1e9f721324d6182db654e601727c791800b
2018-04-13 12:17:51 -07:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Brad Werth 15154e29fb Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert
MozReview-Commit-ID: HV4uhJqWjfj

--HG--
extra : rebase_source : 8dd4d384ed78dcea6093cb4f86f5a84d03048fa5
2018-03-08 17:35:47 -08:00
Daniel Holbert c090d777c6 Bug 1174003 late-breaking followup: remove obsolete comment about flex align-self:baseline behavior. (no review, comment-only, DONTBUILD)
There's been a clarification to the spec text that this comment was worried about:
  https://github.com/w3c/csswg-drafts/issues/2316
And with that clarification, this comment is no longer applicable.
2018-03-30 16:13:08 -07:00
Brindusan Cristian 1fa25f597f Backed out 3 changesets (bug 1298008) for devtools failures on browser_boxmodel_pseudo-element.js CLOSED TREE
Backed out changeset c18e2aac48a5 (bug 1298008)
Backed out changeset b5a4113f4649 (bug 1298008)
Backed out changeset 40f53976a5b8 (bug 1298008)
2018-03-30 23:10:23 +03:00
Brad Werth 0c04a5bbab Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert
MozReview-Commit-ID: HV4uhJqWjfj

--HG--
extra : rebase_source : 61861ec388f184bb715de5bbe2c2d39a4cef9c36
2018-03-08 17:35:47 -08:00
Daniel Holbert 99b46a1c49 Bug 1449838 part 1: Add utility function nsFlexContainerFrame::IsItemInlineAxisMainAxis(). r=mats
This patch doesn't affect behavior - it's just refactoring / de-duplicating.

(The refactored function does include some new "legacy box" code, just for
completeness & to ensure that the included assertion passes.  But beyond the
assertion, that new code isn't exercised right now -- this function's only
callsites are skipped if the NS_STATE_FLEX_IS_EMULATING_LEGACY_BOX state-bit is
set on the container. Hence, this patch still doesn't affect behavior, even
though it's adding some new logic in the refactored-out function.)

MozReview-Commit-ID: G5aCzwTwkTa

--HG--
extra : rebase_source : 695a2341074b1c344a1c5831989b95a693e16970
2018-03-29 14:49:28 -07:00
Emilio Cobos Álvarez e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez 5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Chris Peterson 73675ec9f2 Bug 1443402 - Fix some -Wmissing-prototypes warnings in layout. r=dholbert
-Wmissing-prototypes is a new optional warning available in clang ToT. It warns about global functions that have no previous function declaration (e.g. from an #included header file). These functions can probably be made static (allowing the compiler to better optimize them) or they may be unused.

Confusingly, clang's -Wmissing-prototypes is equivalent to gcc's -Wmissing-declarations, not gcc's -Wmissing-prototypes. A function prototype is a function declaration that specifies the function's argument types. C++ requires that all function declarations specify their argument types, but C does not. As such, gcc's -Wmissing-prototypes is a C-only warning about C functions that have no previous function *prototypes* (with argument types), even if a previous function *declaration* (without argument types) was seen.

MozReview-Commit-ID: FGKVLzeQ2oK

--HG--
extra : rebase_source : 81e62163bf41a5d5dd87abf5397e6e8c62ed4096
extra : source : 653a9fc279e2f6a6d066474a94a70d65ac703d6b
2018-02-22 21:03:45 -08:00
Daniel Holbert d9da77e5f9 Bug 1174003 part 11: [css-flexbox] Remove IsCrossAxisHorizontal(), and make IsMainAxisHorizontal() a private implementation detail. r=mats
At this point in the series:
 - AxisOrientationTracker::IsCrossAxisHorizontal() has zero callers, so it can
   be deleted.
 - AxisOrientationTracker::IsMainAxisHorizontal() only has two callers, and
   both are inside its own class. So it's effectively become an implementation
   detail of its class, and it can be made private.  (I'm not entirely removing
   it, because it does make its two callers more readable. The callers are
   working with a physical-axis-dependent type, 'LayoutDeviceIntSize', which
   comes from an API that isn't logical-axis-friendly, "GetMinimumWidgetSize",
   so they're not easily logicalized. So: it's nice to keep
   IsMainAxisHorizontal() around as an internal convenience method to tell us
   whether to extract the width or height inside of these two specific
   methods. But we don't want to introduce more callers, so let's leave it
   around & make it private.)

MozReview-Commit-ID: 1iz1e52NmxV

--HG--
extra : rebase_source : e8e92bbaadb5b8e636bd1dda79cb0041ce36a2ea
2018-02-28 09:41:16 -08:00
Daniel Holbert 6c3de63544 Bug 1174003 part 10: [css-flexbox] Remove GET_MAIN_COMPONENT/GET_CROSS_COMPONENT macros (expanding each at its only remaining callsite). r=mats
This patch doesn't affect behavior. Each of these macros only had one caller
remaining, and this patch simply expands each of these macros at its sole
callsite.

Note that I'm using the "IsMainAxisHorizontal()" helper in *both* expansions
here, which makes the alternative variant "IsCrossAxisHorizontal()" unused as
of this patch. The next patch in this series will remove that now-unused
method, which will reduce the "Horizontal"-querying API surface here.

The documentation for the macros is still relevant to their still-existing
"_LOGICAL" variants (and those variants do still have callers), so I'm updating
the documentation to be about those variants.

MozReview-Commit-ID: 5i32VYXzo3r

--HG--
extra : rebase_source : 4697e6c23ea743e6b928b091c9dfc9ca1ce4c403
2018-02-28 09:41:13 -08:00
Daniel Holbert e1f331768e Bug 1174003 part 9: [css-flexbox] Remove GET_MAIN_COMPONENT calls from CheckForMinSizeAuto(). r=mats
This patch doesn't change behavior.

The GET_MAIN_COMPONENT macro (some of whose calls I'm removing here) makes a
call to IsMainAxisHorizontal() under the hood.  So I want to get rid of calls
to this this macro, to get closer to killing that method.

In this code, we're interested in the flex item's min-size property in the flex
container's main axis.  This patch makes us simply use MinISize/MinBSize (in
terms of the *flex container's* writing mode) to get the appropriate min-size
property.  The call to IsRowOriented() (querying the flex container's
"flex-direction" property) tells us whether the inline or block axis is the
main axis.

This patch also does away with an unnecessary axis-specific 'overflow-{x/y}'
check, which we don't need to bother with, as noted in a new code-comment (due
to how the 'overflow' subproperties influence each other).

MozReview-Commit-ID: Kqyh69W5IQJ

--HG--
extra : rebase_source : 92d20c8b607d9526c19f387258248388d1c89d85
2018-02-28 09:40:48 -08:00
Daniel Holbert 010964c7b6 Bug 1174003 part 8: [css-flexbox] Change flex item intrinsic ratio calculations to use logical axes and a LogicalSize. r=mats
This patch doesn't affect behavior. It does the following:
 - Changes the AxisOrientationTracker "GetMainComponent/GetCrossComponent" APIs
   to take a LogicalSize rather than a nsSize.
 - Changes FlexItem::mIntrinsicRatio to be a LogicalSize rather than a nsSize.
 - Simplifies the MainSizeFromAspectRatio() helper-function (in particular, it
   removes a call to IsCrossAxisHorizontal(), which is an API I'm gradually
   removing in this patch series.)

MozReview-Commit-ID: KXUmaUVPMZa

--HG--
extra : rebase_source : 345e95978a8abd3ed3ab5b8acabbc6f163785f63
2018-02-27 16:32:58 -08:00
Daniel Holbert cc0ea3c45c Bug 1174003 part 7: [css-flexbox] Logicalize IsCrossAxisHorizontal() check in GetBaselineOffsetFromOuterCrossSize (and simplify a condition for baseline fallback). r=mats
This patch doesn't change our behavior -- not in opt builds, at least. In debug
builds, this patch does change an assertion condition, to remove a usage of
IsCrossAxisHorizontal().  This means debug builds may proceed a bit further
when loading e.g. bug 1384266's testcase (which up until now was tripping this
assertion).  Now that testcase fails a slighlty later assertion (which I'll
sort out on that bug).

The first hunk of this patch is just a simplification -- replacing a
complicated condition (IsRowOriented==IsOrthogonalTo) with a simpler
formulation of the same condition.  I'm making that simplification in this
patch so that we're more clearly consistent about what condition we depend on
for baseline alignment.  After this patch, that (simplified) condition matches
the condition that we assert inside of GetBaselineOffsetFromOuterCrossEdge().

Note: I'm adding two XXXdholbert comments in this patch, for outstanding issues
that I ran across which are out-of-scope for this patch series.

MozReview-Commit-ID: 5x5xqWWilQZ

--HG--
extra : rebase_source : b25e8bfd7425f76b9784df0bd60fc454d4089347
2018-02-27 15:50:30 -08:00
Daniel Holbert fbc7422d44 Bug 1174003 part 6: [css-flexbox] Replace ComputedCrossSize() helper with a new API that uses logical axes internally. r=mats
This patch doesn't affect behavior.

It removes a helper-function that simply returned nsStylePosition::mWidth or
mHeight -- whichever was in the flex container's cross axis. This helper was
only used to answer the question "is the cross size 'auto'", at a single
callsite.  So, this patch replaces the helper with a new helper that more
directly answers that question.  The new helper's implementation uses logical
axes for its reasoning, too, whereas the removed one used physical axes (and in
particular, it relied on AxisOrientationTracker::IsCrossAxisHorizontal(), which
I'll be getting rid of later in this patch series).

MozReview-Commit-ID: EJ8MObTauZH

--HG--
extra : rebase_source : 74caa7a1d06a2a9c5113d4e3cfabaa1d0e9ec1ab
2018-02-27 15:46:55 -08:00
Daniel Holbert 9c3ad8ef78 Bug 1174003 part 5: [css-flexbox] Remove is-{main,cross}-axis-horizontal checks from ReflowFlexItem. r=mats
This patch mostly[1] doesn't affect behavior.  It just changes some ReflowInput
width/height-setting logic to use ISize/BSize setters instead of width/height
setters.

To help with this, I'm also adding some more getters to answer the question "is
this flex item's {inline,block} axis the same as the flex container's
{main,cross} axis", for convenience/readability at callsites. (All of these
getters are simply giving a different view of the same underlying single bit of
information.)

[1] One way this patch *kind of* affects behavior: it generalizes the
conditions under which we set the NS_FRAME_CONTAINS_RELATIVE_BSIZE flag on a
flex item.  But that doesn't actually have any user-visible effects right now,
because that flag's only purpose is to determine whether we should reflow, and
currently we always reflow all flex items. If/when that changes, though
(i.e. when we start reflowing flex items more selectively), this patch is
adding a reftest that may test this generalized behavior. (The reftest actually
trivially passes right now, due to unrelated bug 1441348.)

MozReview-Commit-ID: 4NEKLBAjowh

--HG--
rename : layout/reftests/flexbox/flexbox-resizeviewport-1-helper.html => layout/reftests/flexbox/flexbox-resizeviewport-2-helper.html
rename : layout/reftests/flexbox/flexbox-resizeviewport-1-ref.xhtml => layout/reftests/flexbox/flexbox-resizeviewport-2-ref.xhtml
rename : layout/reftests/flexbox/flexbox-resizeviewport-1.xhtml => layout/reftests/flexbox/flexbox-resizeviewport-2.xhtml
extra : rebase_source : c6535e1cdcb1757a16cd02e0d485638827344c23
2018-02-27 15:40:18 -08:00
Daniel Holbert 08920aae73 Bug 1174003 part 4: [css-flexbox] Remove IsMainAxisHorizontal() check from DoFlexLayout(). r=mats
This patch doesn't affect behavior.  It just replaces some (correct) physical-axis-dependent code with equivalent logical-axis-dependent code.

MozReview-Commit-ID: 27QJU2cFWh

--HG--
extra : rebase_source : 856e90428468aac0d93854a0bc20e78c2dcb8c57
2018-02-27 15:40:18 -08:00
Daniel Holbert 4afe7c70cc Bug 1174003 part 3: [css-flexbox] Make GetMarginSizeInMainAxis() take a LogicalMargin, instead of nsMargin. r=mats
This patch doesn't change behavior. It just makes us use logical axes/types instead of physical ones for this particular API and its caller.

MozReview-Commit-ID: Jt6SECGI9EU

--HG--
extra : rebase_source : 60d7e52ed9a53f0c0d3ebf3103cbdab476606ddb
2018-02-27 15:40:10 -08:00
Daniel Holbert 3dfe09e9e1 Bug 1174003 part 2: [css-flexbox] Reformat code around GetMinimumWidgetSize call slightly. r=mats
This patch doesn't change behavior. It's purely to allow the next patch to be more surgical. Specifically, this patch:
 - splits a subtract-and-clamp operation into two separate operations.
 - splits one a comment into two.
...so that the next patch can swap out these variables for new ones, without
pushing these lines over 80 characters.

MozReview-Commit-ID: 4N5sI755CqF

--HG--
extra : rebase_source : 96af106d739256a6871e75d0d34e9691cfbfb0c2
2018-02-27 11:26:43 -08:00
Daniel Holbert 375dc5dc6e Bug 1174003 part 1: [css-flexbox] Remove unused method nsFlexContainerFrame::IsHorizontal. r=mats
MozReview-Commit-ID: JzvGzJvMhLS

--HG--
extra : rebase_source : 08916cb0fa201f036d69de41f7a3f760a6c081d9
2018-02-27 11:21:22 -08:00
Daniel Holbert dca25b1820 Bug 1433339: Apply single-item fallback behavior for 'space-between' more directly, in flexbox code. r=mats
MozReview-Commit-ID: BRx4xGaJS6y

--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001-ref.xhtml => layout/reftests/flexbox/flexbox-align-content-horizrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001a.xhtml => layout/reftests/flexbox/flexbox-align-content-horizrev-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001-ref.xhtml => layout/reftests/flexbox/flexbox-align-content-vertrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001a.xhtml => layout/reftests/flexbox/flexbox-align-content-vertrev-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-001-ref.xhtml => layout/reftests/flexbox/flexbox-justify-content-horizrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-001a.xhtml => layout/reftests/flexbox/flexbox-justify-content-horizrev-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/flexbox/flexbox-justify-content-vertrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/flexbox/flexbox-justify-content-vertrev-001.xhtml
extra : rebase_source : 61fbefa6758677dd90872b02deb636a3d6c6887b
2018-02-17 16:59:01 -08:00
Daniel Holbert 6de1d22027 Bug 1267462 part 9: Fix IsCrossSizeDefinite() helper-method to use logical axes & coords. r=mats
MozReview-Commit-ID: Eda6ltmcDgQ

--HG--
extra : rebase_source : 549b46cfba57e25dbd9b8968c1c508239d2d47a1
2018-02-08 15:17:03 -08:00
Daniel Holbert a5c3b4fd13 Bug 1267462 part 8: Rename ReflowInput.mFlags.mIsFlexContainerMeasuringHeight with s/Height/BSize/, to match reality. r=mats
This patch doesn't change behavior; it's simply a rename.

I'm also fixing one mistyped mention of this variable in a comment in
nsFlexContainerFrame.cpp.  (The comment had "Reflow" rather than "Height" in
its mention of this variable-name.)

MozReview-Commit-ID: KRW7FCVSlto

--HG--
extra : rebase_source : 2a27ea3bf9d3eabc437db398d24e374ce48ba677
2018-02-08 15:15:11 -08:00
Daniel Holbert fa61229977 Bug 1267462 part 7: Generalize nsFlexContainerFrame::ResolveAutoFlexBasisAndMinSize and helpers to use logical axes & coords. r=mats
In particlar, this patch:

 - ...renames a bunch of 'auto'-BSize-measurement functions/variables from
   "Height" to "BSize".  (I thought about splitting this part out, but
   typically the correctness of the renames was intrinsically tied to the logic
   generalizations that I'm performing here, and vice versa, so it seemed
   clearest to group it all together.)

 - ...replaces some calls to IsMainAxisHorizontal() with the more general
   "FlexItem::IsInlineAxisMainAxis()" API, for cases when we're reasoning about
   whether a flex item's main-size is really just its (easier-to-resolve) ISize.

 - ...replaces some calls to IsCrossAxisHorizontal() with either
   IsColumnOriented() or FlexItem::IsInlineAxisCrossAxis() (depending on
   whether we're reasoning about the flex container's cross-size vs. a flex
   item's cross size).

This makes a bunch of tests start passing (including a "received" w3c
reftest/wpt-test), so this patch also removes some failure annotations.

MozReview-Commit-ID: 3uR1mOzvytX

--HG--
extra : rebase_source : 40f4e7dd6aacfb4f267d2f4d217fbf84befb5ebf
2018-02-08 15:15:07 -08:00
Daniel Holbert 33d6d2f540 Bug 1267462 part 6: Add FlexItem methods to test whether its inline axis is in container's main vs. cross axis. r=mats
This patch doesn't affect behavior -- it's just adding a new member-var &
accessor with no usages. The next patch in the series will add some usages.

MozReview-Commit-ID: NKBvKnb7Jw

--HG--
extra : rebase_source : aff89907bfef41a8fa3ff076264a2b7a72c36e27
2018-02-08 15:01:09 -08:00
Daniel Holbert c38a815578 Bug 1267462 part 5: Move WritingMode member-var earlier in FlexItem class. r=mats
This patch doesn't affect behavior. It simply reorders a member variable to be
near the beginning of the FlexItem class, so that the next patch in this series
can use that member-variable when initializing another member in the
constructor init list.  (You're only allowed to use earlier member-vars like
this, since member-vars get initialized in order.)

MozReview-Commit-ID: 9v4Dr0Ir6i7

--HG--
extra : rebase_source : ff0ebd63c4a88017e8211a77049e79469b4e9858
2018-02-08 14:58:47 -08:00
Daniel Holbert 9070f50509 Bug 1398963 part 6: Make "visibility:collapse" cause flex items to be 0-sized, in emulated -moz-{inline-}box. r=mats
In modern flexbox and in "display:-webkit-box", children with
"visibility:collapse" currently generate "struts" which have 0 main-size but
nonzero cross-size.

But XUL/-moz-box treats these children differently -- it makes them 0-sized in
both axes. So we need to add a custom behavior to modern flexbox in order to
emulate that.

Specifically, this patch makes us:
 - Ignore these children when computing the flex container's intrinsic sizes.
 - Take a simpler codepath with 0-sized struts for collapsed elements when
   laying out a -moz-box (rather than the typical 2-pass layout, with strut
   cross-size being established in the 1st pass).

MozReview-Commit-ID: IpkADpFFBMx

--HG--
extra : rebase_source : d42a291c414c61906a82c2be2b5f1834aa24e4e3
2017-12-18 12:17:11 -06:00
Daniel Holbert 0d839c700e Bug 1398963 part 2: Make nsFlexContainerFrame label itself as legacy if it has -moz-box/-moz-inline-box display val. r=mats
To be clear, this is a "paving the way" patch.  At this point in the patch
series, it's not yet possible for us to generate a nsFlexContainerFrame that
has display:-moz-box.  (A later patch in this series will make that possible.)

This patch adds the mechanics to nsFlexContainerFrame instances so that they'll
label themselves appropriately (with NS_STATE_FLEX_IS_EMULATING_LEGACY_BOX)
once it *does* become possible for -moz-box to spawn a nsFlexContainerFrame.
Moreover, this patch updates the state bit's documentation to reflect its new
potential-usage.

MozReview-Commit-ID: ElApieVoTLf

--HG--
extra : rebase_source : 0c59e2a0adc8e060a687e5ffdf6246eb8068eef6
2017-12-18 12:17:10 -06:00
Daniel Holbert 458c3ac132 Bug 1398963 part 1: Rename frame-state bit from NS_STATE_FLEX_IS_LEGACY_WEBKIT_BOX to NS_STATE_FLEX_IS_EMULATING_LEGACY_BOX (idempotent patch). r=mats
This patch isn't changing semantics of this bit at all - it just renames it to
a more general name. In other words, this patch does not change behavior.

MozReview-Commit-ID: 4wb13X4YinJ

--HG--
extra : rebase_source : 9a89ce8782f735d7f4a8ad471606a2af5201ac83
2017-12-18 12:17:10 -06:00
Brad Werth ba544223af Bug 1424436 Part 1: Add more asserts in flex api calculation of mainDeltaSize values. r=dholbert
MozReview-Commit-ID: IpMrMfmMy7t

--HG--
extra : rebase_source : b5862f1cb1735a00b63e000c4857bd80cc5c9f49
2017-12-08 15:49:56 -08:00
Brad Werth dfee74ad04 Bug 1419924 Part 1: Capture FlexLine cross start position to report to devtools when requested. r=dholbert
MozReview-Commit-ID: 8opVdr4W9S3

--HG--
extra : rebase_source : 45edd3a73fa4fd56e5e0557ca3ea5ba86cc5f7a6
2017-12-01 13:02:35 -08:00
Brad Werth d92c5394a0 Bug 1409083 Part 3: Add a GetFirstNonAnonBoxDescendant function to unpack anonymous flex items. r=dholbert
This patch is effectively just resurrecting a function that was previously removed in https://hg.mozilla.org/mozilla-central/rev/173a4f49dfe3#l1.96 .

MozReview-Commit-ID: 4PXSOu4tzzU

--HG--
extra : rebase_source : 88deb29578bb6851b606f5088f6f18f3a65e8e3e
2017-11-22 16:44:19 -08:00
Brad Werth 947c621008 Bug 1409083 Part 1: Capture computed flex data for use by devtools. r=dholbert
MozReview-Commit-ID: 2TorIXOJZdh

--HG--
extra : rebase_source : b75e8d1786efda9ff48bae81b06f1834648096d1
2017-10-20 11:20:46 -07:00
Phil Ringnalda 9d10710b26 Backed out 5 changesets (bug 1409083) for eslint failures
Backed out changeset 9de539be3665 (bug 1409083)
Backed out changeset 660e79af5c93 (bug 1409083)
Backed out changeset 574cd09aad41 (bug 1409083)
Backed out changeset b21b06a24705 (bug 1409083)
Backed out changeset b21e6a795493 (bug 1409083)
2017-12-07 19:47:09 -08:00
Brad Werth c61bdc105e Bug 1409083 Part 3: Add a GetFirstNonAnonBoxDescendant function to unpack anonymous flex items. r=dholbert
This patch is effectively just resurrecting a function that was previously removed in https://hg.mozilla.org/mozilla-central/rev/173a4f49dfe3#l1.96 .

MozReview-Commit-ID: 4PXSOu4tzzU

--HG--
extra : rebase_source : a8ada7319ea86ccb6178870510fdbb1dac6bd027
2017-11-22 16:44:19 -08:00
Brad Werth 9c08fad38e Bug 1409083 Part 1: Capture computed flex data for use by devtools. r=dholbert
MozReview-Commit-ID: 2TorIXOJZdh

--HG--
extra : rebase_source : d3463af8122702d0c80f5aaa520785b9c294a92f
2017-10-20 11:20:46 -07:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Daniel Holbert a7f82bed77 Bug 1412346 part 4: Update stale MPL license boilerplate on a few files in layout. r=jfkthame
We have a fair number of files that have a particular stale version of the MPL
boilerplate.  (It was probably originally correct, and then the official
boilerplate changed, and the stale MPL boilerplate continued to propagate via
copypasting from neighboring files into newly-added files.)

This patch updates this stale MPL text (and *only* the MPL text) to the latest
version, which can be found at https://www.mozilla.org/en-US/MPL/headers/ and
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

MozReview-Commit-ID: 8WeBb8b0uRo

--HG--
extra : rebase_source : 2c3aa8d07ba23714501c9e26ad03625aeab36a7a
2017-10-27 10:09:35 -07:00
Ting-Yu Lin 2e869d8f3d Bug 1341009 - Add nsReflowStatus::IsEmpty() assertions to all nsIFrame::Reflow() methods and some reflow helpers, and remove unneeded Reset(). r=dholbert
nsReflowStatus::IsEmpty() assertions are added after DISPLAY_REFLOW in the
beginning of the Reflow().

A few Reflow() implementations have Reset() calls at the end which are left
in place by this patch (with an explanatory comment added to each). These
ending Reset()s are only needed for cases where a non-splittable frame
passes its own nsReflowStatus to a child's reflow method. Just in case the
child leaves a "not fully complete" value in the nsReflowStatus, the
non-splittable parent frame must clear out the nsReflowStatus before
returning, so that its own parent doesn't then try to split it.

MozReview-Commit-ID: 6Jj3jfMAqj4

--HG--
extra : rebase_source : e1fe6a775ad97e16a6d7cc224634ff962ccb0fbf
2017-09-13 18:00:25 +08:00
Matt Woodrow 40f5b92e3b Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
Sebastian Hengst 8257b2d113 Backed out changeset 8f2dd8f13b53 (bug 1388161) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:21 +02:00
Matt Woodrow a3a130b6ff Bug 1388161 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList. r=mstange 2017-08-07 14:23:35 +12:00
Alexis Beingessner adb013669b Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Sebastian Hengst f3bf820bfd Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner c75211cb95 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00