Skip to content
This repository has been archived by the owner on Aug 4, 2022. It is now read-only.

Commit

Permalink
Backed out 3 changesets (bug 1415670) for failing chrome test dom/gri…
Browse files Browse the repository at this point in the history
…d/test/chrome/test_grid_implicit.html r=backout on a CLOSED TREE

Backed out changeset 812aaf31c577 (bug 1415670)
Backed out changeset ec9fa6d9dca9 (bug 1415670)
Backed out changeset 92d2a5673bbc (bug 1415670)
  • Loading branch information
bogdant-old committed Dec 4, 2017
1 parent 2f38a13 commit 270808b
Show file tree
Hide file tree
Showing 9 changed files with 42 additions and 210 deletions.
8 changes: 0 additions & 8 deletions dom/grid/GridLine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,25 +70,17 @@ GridLine::Number() const
return mNumber;
}

int32_t
GridLine::NegativeNumber() const
{
return mNegativeNumber;
}

void
GridLine::SetLineValues(const nsTArray<nsString>& aNames,
double aStart,
double aBreadth,
uint32_t aNumber,
int32_t aNegativeNumber,
GridDeclaration aType)
{
mNames = aNames;
mStart = aStart;
mBreadth = aBreadth;
mNumber = aNumber;
mNegativeNumber = aNegativeNumber;
mType = aType;
}

Expand Down
3 changes: 0 additions & 3 deletions dom/grid/GridLine.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,11 @@ class GridLine : public nsISupports
double Breadth() const;
GridDeclaration Type() const;
uint32_t Number() const;
int32_t NegativeNumber() const;

void SetLineValues(const nsTArray<nsString>& aNames,
double aStart,
double aBreadth,
uint32_t aNumber,
int32_t aNegativeNumber,
GridDeclaration aType);

protected:
Expand All @@ -58,7 +56,6 @@ class GridLine : public nsISupports
double mBreadth;
GridDeclaration mType;
uint32_t mNumber;
int32_t mNegativeNumber;
};

} // namespace dom
Expand Down
45 changes: 4 additions & 41 deletions dom/grid/GridLines.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,21 +87,6 @@ GridLines::SetLineInfo(const ComputedGridTrackInfo* aTrackInfo,
uint32_t numRepeatTracks = aTrackInfo->mRemovedRepeatTracks.Length();
uint32_t numAddedLines = 0;

// For the calculation of negative line numbers, we need to know
// the total number of leading implicit and explicit tracks.
// This might be different from the number of tracks sizes in
// aTrackInfo, because some of those tracks may be auto-fits that
// have been removed. So the total number of tracks is:
// trackCount + (count of mRemovedRepeatTracks elements == true).
uint32_t leadingTrackCount = trackCount;
if (numRepeatTracks > 0) {
for (auto& removedTrack : aTrackInfo->mRemovedRepeatTracks) {
if (removedTrack) {
++leadingTrackCount;
}
}
}

for (uint32_t i = aTrackInfo->mStartFragmentTrack;
i < aTrackInfo->mEndFragmentTrack + 1;
i++) {
Expand Down Expand Up @@ -152,7 +137,6 @@ GridLines::SetLineInfo(const ComputedGridTrackInfo* aTrackInfo,
lastTrackEdge,
repeatIndex,
numRepeatTracks,
leadingTrackCount,
lineNames);
}

Expand All @@ -161,21 +145,18 @@ GridLines::SetLineInfo(const ComputedGridTrackInfo* aTrackInfo,
MOZ_ASSERT(line1Index > 0, "line1Index must be positive.");
bool isBeforeFirstExplicit =
(line1Index <= aTrackInfo->mNumLeadingImplicitTracks);
bool isAfterLastExplicit = line1Index > (leadingTrackCount + 1);
// Calculate an actionable line number for this line, that could be used
// in a css grid property to align a grid item or area at that line.
// For implicit lines that appear before line 1, report a number of 0.
// We can't report negative indexes, because those have a different
// meaning in the css grid spec (negative indexes are negative-1-based
// from the end of the grid decreasing towards the front).
uint32_t lineNumber = isBeforeFirstExplicit ? 0 :
(line1Index + numAddedLines - aTrackInfo->mNumLeadingImplicitTracks);

// The negativeNumber is counted back from the leadingTrackCount.
int32_t lineNegativeNumber = isAfterLastExplicit ? 0 :
(line1Index + numAddedLines - (leadingTrackCount + 1));
(line1Index - aTrackInfo->mNumLeadingImplicitTracks + numAddedLines);
GridDeclaration lineType =
(isBeforeFirstExplicit || isAfterLastExplicit)
(isBeforeFirstExplicit ||
line1Index > (aTrackInfo->mNumLeadingImplicitTracks +
aTrackInfo->mNumExplicitTracks + 1))
? GridDeclaration::Implicit
: GridDeclaration::Explicit;
line->SetLineValues(
Expand All @@ -184,7 +165,6 @@ GridLines::SetLineInfo(const ComputedGridTrackInfo* aTrackInfo,
nsPresContext::AppUnitsToDoubleCSSPixels(startOfNextTrack -
lastTrackEdge),
lineNumber,
lineNegativeNumber,
lineType
);

Expand All @@ -201,7 +181,6 @@ GridLines::AppendRemovedAutoFits(const ComputedGridTrackInfo* aTrackInfo,
nscoord aLastTrackEdge,
uint32_t& aRepeatIndex,
uint32_t aNumRepeatTracks,
uint32_t aNumLeadingTracks,
nsTArray<nsString>& aLineNames)
{
// Check to see if lineNames contains ALL of the before line names.
Expand Down Expand Up @@ -246,29 +225,13 @@ GridLines::AppendRemovedAutoFits(const ComputedGridTrackInfo* aTrackInfo,

RefPtr<GridLine> line = new GridLine(this);
mLines.AppendElement(line);

// Time to calculate the line numbers. For the positive numbers
// we count with a 1-based index from mRepeatFirstTrack. Although
// this number is the index of the first repeat track AFTER all
// the leading implicit tracks, that's still what we want since
// all those leading implicit tracks have line number 0.
uint32_t lineNumber = aTrackInfo->mRepeatFirstTrack +
aRepeatIndex + 1;

// The negative number does have to account for the leading
// implicit tracks. We've been passed aNumLeadingTracks which is
// the total of the leading implicit tracks plus the explicit
// tracks. So all we have to do is subtract that number from the
// 0-based index of this track.
int32_t lineNegativeNumber = (aTrackInfo->mNumLeadingImplicitTracks +
aTrackInfo->mRepeatFirstTrack +
aRepeatIndex) - aNumLeadingTracks;
line->SetLineValues(
aLineNames,
nsPresContext::AppUnitsToDoubleCSSPixels(aLastTrackEdge),
nsPresContext::AppUnitsToDoubleCSSPixels(0),
lineNumber,
lineNegativeNumber,
GridDeclaration::Explicit
);

Expand Down
1 change: 0 additions & 1 deletion dom/grid/GridLines.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ class GridLines : public nsISupports
nscoord aLastTrackEdge,
uint32_t& aRepeatIndex,
uint32_t aNumRepeatTracks,
uint32_t aNumLeadingTracks,
nsTArray<nsString>& aLineNames);

RefPtr<GridDimension> mParent;
Expand Down
11 changes: 0 additions & 11 deletions dom/grid/test/chrome/test_grid_implicit.html
Original file line number Diff line number Diff line change
Expand Up @@ -267,22 +267,11 @@
4,
5,
];
let expectedNegativeNumber = [
-7,
-6,
-5,
-4,
-3,
-2,
-1,
0,
];

for (let i = 0; i < grid.cols.lines.length; i++) {
let line = grid.cols.lines[i];
is(line.type, expectedType[i], "Line index " + i + " has expected type.");
is(line.number, expectedNumber[i], "Line index " + i + " has expected number.");
is(line.negativeNumber, expectedNegativeNumber[i], "Line index " + i + " has expected negative number.");
}
}

Expand Down
77 changes: 28 additions & 49 deletions dom/grid/test/chrome/test_grid_line_numbers.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
color: #fff;
}
.repeatColumns {
width: 400px;
width: 600px;
grid-auto-columns: 50px;
grid-template-columns: repeat(auto-fit, 100px);
}
.repeatRows {
height: 400px;
height: 600px;
grid-auto-rows: 50px;
grid-template-rows: repeat(auto-fit, 100px);
}
Expand All @@ -38,7 +38,6 @@
is(lines.count, expectedValues.count, elementName + " has expected number of lines.");
for (let i = 0; i < lines.length; i++) {
is(lines[i].number, expectedValues[i].number, elementName + " line index " + i + " has expected number.");
is(lines[i].negativeNumber, expectedValues[i].negativeNumber, elementName + " line index " + i + " has expected negativeNumber.");
}
}

Expand All @@ -50,53 +49,32 @@
grid = document.getElementById("gridWithColumns").getGridFragments()[0];
lines = grid.cols.lines;
expectedValues = [
{ "number": 0,
"negativeNumber": -9 },
{ "number": 0,
"negativeNumber": -8 },
{ "number": 0,
"negativeNumber": -7 },
{ "number": 0,
"negativeNumber": -6 },
{ "number": 1,
"negativeNumber": -5 },
{ "number": 2,
"negativeNumber": -4 },
{ "number": 3,
"negativeNumber": -3 },
{ "number": 4,
"negativeNumber": -2 },
{ "number": 5,
"negativeNumber": -1 },
{ "number": 6,
"negativeNumber": 0 },
{ "number": 0 },
{ "number": 0 },
{ "number": 1 },
{ "number": 2 },
{ "number": 3 },
{ "number": 4 },
{ "number": 5 },
{ "number": 6 },
{ "number": 7 },
{ "number": 8 },
];
testLines("gridWithColumns", lines, expectedValues);


grid = document.getElementById("gridWithRows").getGridFragments()[0];
lines = grid.rows.lines;
expectedValues = [
{ "number": 0,
"negativeNumber": -9 },
{ "number": 0,
"negativeNumber": -8 },
{ "number": 0,
"negativeNumber": -7 },
{ "number": 0,
"negativeNumber": -6 },
{ "number": 1,
"negativeNumber": -5 },
{ "number": 2,
"negativeNumber": -4 },
{ "number": 3,
"negativeNumber": -3 },
{ "number": 4,
"negativeNumber": -2 },
{ "number": 5,
"negativeNumber": -1 },
{ "number": 6,
"negativeNumber": 0 },
{ "number": 0 },
{ "number": 0 },
{ "number": 1 },
{ "number": 2 },
{ "number": 3 },
{ "number": 4 },
{ "number": 5 },
{ "number": 6 },
{ "number": 7 },
{ "number": 8 },
];
testLines("gridWithRows", lines, expectedValues);

Expand All @@ -108,14 +86,15 @@

<div id="gridWithColumns" class="wrapper repeatColumns">
<div style="grid-column: -9">A</div>
<div style="grid-column: 2">B</div>
<div style="grid-column: 5">C</div>
<div style="grid-column: 4">B</div>
<div style="grid-column: 7">C</div>
</div>

<div id="gridWithRows" class="wrapper repeatRows">
<div style="grid-row: span 4 / 1">A</div>
<div style="grid-row: 3">B</div>
<div style="grid-row: 4 / span 2">C</div>
<div style="grid-row: span 3 / 2">A</div>
<div style="grid-row: 4">B</div>
<div style="grid-row: 5">C</div>
<div style="grid-row: span 2 / 8">D</div>
</div>

</body>
Expand Down
5 changes: 2 additions & 3 deletions dom/grid/test/chrome/test_grid_lines.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,8 @@
// test column line width
is(grid.cols.lines[1].breadth, 10, "Grid column line 2 width is as expected.");

// test column line numbers, positive and negative
is(grid.cols.lines[3].number, 4, "Grid column line 4 positive number is as expected.");
is(grid.cols.lines[3].negativeNumber, -2, "Grid column line 4 negative number is as expected.");
// test column line number
is(grid.cols.lines[3].number, 4, "Grid column line 4 number is as expected.");

// test column line names
is(grid.cols.lines[0].names.length, 0, "Grid column line 1 has no names.");
Expand Down
Loading

0 comments on commit 270808b

Please sign in to comment.