Teams‎ > ‎Layout Team‎ > ‎Layout Team Meeting Notes‎ > ‎

Monday, March 30, 2015

We had Rune Lillesveen (rune) and David Vest (davve) from Opera join the
meeting this week in an effort to better coordinate our work. We also had 
Ian Killpatrick (ikilpatrick) from the Chrome Sydney team join us.

The massive Rendering -> Layout rename project is done, thanks to
everyone who helped out and to Dan in particular who did most of the
heavy lifting!

The new multi-column implementation was enabled for tests and exposed as
an experimental web platform feature on Friday! Congrats Morten!

Updates since last meeting (on Monday, March 23rd):

Performance Tracking (benjhayden)
- Continuing work on LayoutAnalyzer and counters. Counters will be
  exposed via trace events allowing us to see the number of layouts on a
  per element type basis.
- Working on adding a command line flag for android to allow metrics to
  be collected on an attached phone.

Scrolling (skobes) []
- Fixed the scroll animation test that was failing on the leak bots.
- Fixed a bug with scrolling to fixed-position #anchor targets.
- Still tests failing that I need to dig into, and I need to add more
  virtual test suites as right now it is only running fast/scrolling.

Rename Rendering -> Layout (dsinclair) []
- Done. All files have been moved and renamed. The rendering/ directory
  is gone!

First letter refactoring (dsinclair) []
- Fixed first-letter hit testing, discovered a couple of new bugs.

List marker refactoring []
- Getting back to list-marker work, will turn the marker into a ::marker
  psedo element. []

Measure API (jchaffraix)
- Been thinking about supporting measure out-of-tree and trying to come
  up with a good strategy. So far none of the approaches tried have
  panned out. Will continue to experiment and evaluate ideas to guide
  future work.

Flexbox (cbiesinger) []
- Finished implementing spec changes for min-width auto.
- Started working on positioning of position: absolute elements.
- Working on importing w3c test suite for flexbox.

Line Boxes (szager) []
- Finished going through the layout test failures for Glenn's patch, and
  landed a few patches to fix tests. All of the remaining test failures
  are OK to rebaseline.
- Ran the patch through the perf bots, and the results were not as I had
  hoped. There appeared to be significant performance regressions in the
  blink_perf.layout test suite.
- Working on eliminating wrapper classes (FloatWillBeLayoutUnit) to test
  theory that they explain at least part of the regression.
- Found a number of places where we use the wrong unit, we need to
  decide exactly where to draw the line between LayoutUnit and float.

Isolate core/fetch (japhet) []
- Continuing work to isolate core/fetch from the rest of core.

Page scale handling (bokan) []
- Remove old pinch-zoom paths from Blink.

Blink componentization (pilgrim) []
- Moving things from core to modules; core/storage and core/timing.

Text (kojii, wjmaclean, eae, rune)
- Continued work on text iterator cleanup, fixed naming to be more
  descriptive. (wjmaclean)
- Working on a change that pulls out the part of TextIterator that
  handles text from the part that handles traversing. (wjmaclean)
- Profiling line breaking. (eae)
- Started working on design doc for removing simple text. (eae)
- Fixed text overflow box bug that blocked the Slimming Paint work.
-  Fixed an assertion problem with baseLayoutStyle which lead to
   finding/reporting a problem causing unnecessary layouts.
   [] (rune)
- Fix vertical flow regression when a major web font site provides
  broken tables. (kojii)
- Default to complex path more cases in vertical flow. (kojii)
- Working with W3C and internal experts for bi-di and vertical flow
  issues. (kojii)

Style resolution (rune)
- Cache element indices for :nth-child and :nth-last-child selectors.

Content sizing (davve)
- Working on content sizing/intrinsic size for HTML and SVG.

Region-based multi-column support (mstensho) []
- New multi-column implementation enabled as experimental web platform

Standards (ikilpatrick, slightlyoff)
- Pushing the layout portion of w3c houdini forward in preparation for
  the next meeting by prototyping. (ikilpatrick)

- Trying to reduce an obscure clusterfuzz crasher in RenderBlockFlow.


[ cbiesinger's work to import the w3c test suite prompted a discussion
  about w3c tests. ]
<slightlyoff> Are we mostly writing blink specific layout tests or w3c
web platform tests today?

<eae> For regression and performance work we use blink specific layout
tests pretty much exclusively. For feature work we're trying to move to
a world where we use web platform tests tests but we're not there yet.

<jsbell> Dirk (dpranke) started work in tooling to support w3c web
platform tests, I have headcount for an engineer to take this over and
work on improving the tooling.

<jsbell> Once better tooling and procedures are in place we should start
"strongly encouraging" people to write web platform tests for new

<slightlyoff> Can we do that today?

<jsbell> It is too too painful to do today, tooling needs to be improved