Commit 1dac4a97 authored by Christian Biesinger's avatar Christian Biesinger Committed by Commit Bot

[css-grid] Calling Cell() is somewhat expensive; store it in a variable

(ListGrid::Cell takes 12.09% of total time when running the
large-spanning-grid-item.html perf test with LayoutNG enabled; with
this patch, that's down to 4.92%)

R=rego@igalia.com

Change-Id: Ibd0da807622824892227326844e5f4c19faa9bb0
Reviewed-on: https://chromium-review.googlesource.com/1237380Reviewed-by: default avatarSergio Villar <svillar@igalia.com>
Reviewed-by: default avatarManuel Rego <rego@igalia.com>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593163}
parent 2a66ed23
......@@ -1611,8 +1611,9 @@ LayoutUnit LayoutGrid::FirstLineBoxBaseline() const {
for (size_t column = 0;
!is_baseline_aligned && column < grid_->NumTracks(kForColumns);
column++) {
for (size_t index = 0; index < grid_->Cell(0, column).size(); index++) {
const LayoutBox* child = grid_->Cell(0, column)[index];
const GridItemList& cell = grid_->Cell(0, column);
for (size_t index = 0; index < cell.size(); index++) {
const LayoutBox* child = cell[index];
DCHECK(!child->IsOutOfFlowPositioned());
// If an item participates in baseline alignment, we select such item.
if (IsBaselineAlignmentForChild(*child, kGridColumnAxis)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment