Layout Team Weekly Snippets - October 9, 2017

Skip to first unread message

Emil A Eklund

Oct 9, 2017, 5:02:12 PM10/9/17
to, Philip Rogers
Please use the following document for Q4 OKR planning:
You *should* all have access to it already, if not click the
"request permission" button and I'll grant it.

Updates since October 2:
- Refactored LayoutTheme by breaking all dependencies on LayoutObject
to allow it to be shared across legacy layout and LayoutNG. Still
some work to be done to support Shadow DOM children of some of the
decorated controls.
- Started working on hit testing for LayoutNG with fragment painting
enabled as the existing hit testing implementation requires the
legacy layout tree to be populated, which we no longer do when
fragment painting is enabled.
- Last week the number of open Blink>Layout bugs dropped below 800 for
the first time (down from 1000 earlier this year). Thanks for all
your help in triaging, fixing, and closing issues!
- Q4 planning.

This week:
- Continue working on hit testing.
- More Q4 planning.

Please reply-all with your own update for last week and also indicate
if any of the proposed topics sounds interesting to you or if you have
another one you'd like to add to the agenda.

Aleks Totic

Oct 9, 2017, 5:33:23 PM10/9/17
to Emil A Eklund,, Philip Rogers
- still stuck at a single LGTM.
- there is a discussion among smart people whether ResizeObserver should be an event instead. Not something I like to see when I am ready to ship. We should do the right thing for webdev, whatever it is.

ResizeObserver: instrument and analyze current usage on top polyfill sites. Emailed results to blink-dev. I am now comfortable with chrome://tracing, feel free to ask for help.

ResizeObserver: remove duplicate local tests after tests have moved to w-p-t 702676

- fixed nested NG OOF blocks inside legacy container 704015

- Fix gdb WTF::String printer 702816. [impl_][ptr_] became [impl_][ptr_][ptr_]. Do our strings now have an additional degree of indirection? Do templates optimize it away? No idea, but my gdb works again.


Philip Rogers

Oct 9, 2017, 6:06:15 PM10/9/17
to Aleks Totic, Emil A Eklund,
Hi layout friends, I normally hang out in paint/ but I'll be helping finish Root Layer Scrolling (RLS) this quarter with Steve (skobes@chromium), Stefan (szager@chromium), David (bokan@chromium), and Suneel (suneel.kota@samsung).

Last week:
- In CQ: add "attempt_to_remove_scrollbars" for root layer scrolling which fixes 89 layout test failures.
- Landed 4 patches cleaning up unit tests for RLS; no non-NG unit tests fail with root layer scrolling now.
- Administrivia: Cleaned up the RLS bug burndown list, setup standing meeting, kicked off RLS trybot setup (
- Root layer scrolling reviews (Stefan's popup fix, Steve's expectations updates).
- Updated linux and mac build docs with jumbo build instructions.
- Discussion around async image decoding as well as how to gather statistics for caching decodes across navigations (

Steve Kobes

Oct 9, 2017, 6:59:36 PM10/9/17
to Philip Rogers, Aleks Totic, Emil A Eklund,
Thanks Philip, we're excited to have you helping out. :)

- landed try-flag v0 ( - downloads JSON from finished trybots and prints unexpected fail / pass with merged platform specifiers
- working on try-flag v1 - create _tryflag branch, write rwt.flag, upload and trigger
- regenerate flag expectations using try-flag v0 (
- assisting sataya.m with iframe border bug (
- discuss PLSA scrollbar add/remove strategy with pdr
- assist szager with transform origin investigation
- cleanup and manage outstanding bug spreadsheet (

- meet with erikchen about display:none iframes, did some research on DisplayNoneIFrameCreatesNoLayoutObject and the Dispose() problem (summarized in
- preparing "Life of a Pixel"

Morten Stenshorne

Oct 10, 2017, 3:56:50 AM10/10/17
to Steve Kobes, Philip Rogers, Aleks Totic, Emil A Eklund,
LayoutNG: Multicol min/max width calculation, and initial support for multicol balancing
Also wasted a day on compilation problems. Turned out that it was caused by enabling the lld linker, which supposedly is a great linker for goma, but it broke down completely with icecc, because it cannot use bundled binutils.

Next up:
LayoutNG: Not sure what. I shouldn't start on anything big, since I'm going away for a while soon. But maybe:
A: Improve column balancing.
B: Improve fragmentation to support line boxes, floats and replaced content.
C: Figure out how to deal with fragmentation when entering legacy layout and re-entering NG. Seems tricky. Seems like we'd kind of need legacy layout to abort at fragmentainer boundaries, return to NG and resume legacy layout in the next fragmentainer or something. So we'd have to add some NG awareness to all the legacy layout modes, such as tables, flexbox and grid? Doesn't sound good.

Right now I'm thinking B.

You received this message because you are subscribed to the Google Groups "layout-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
To view this discussion on the web visit

Koji Ishii

Oct 10, 2017, 10:01:18 AM10/10/17
to Morten Stenshorne, Steve Kobes, Philip Rogers, Aleks Totic, Emil A Eklund,
Updates since October 2:
- Implemented list-item 'outside' positioning. Symbols still use
  incorrect fonts, and image not supported yet.
- Implemented 'text-overflow: ellipsis' (only for NGPaint.)
- Fragment-based baseline for pre-NG ancestors.
- Fix dynamic renumbering of list-items.
- Fix inline blocks with orthogonal writing modes.
- Some cleanup and additions to geometry classes.
- Continue working on VisualRect for fragments.

This week:
- Continue working on VisualRect for fragments.
- Investigate -webkit-rtl-ordering.
- Investigate test failures.

Ian Kilpatrick

Oct 10, 2017, 1:08:46 PM10/10/17
to Koji Ishii, Morten Stenshorne, Steve Kobes, Philip Rogers, Aleks Totic, Emil A Eklund,
I've been working on a series of changes to make NGInlineLayoutAlgorithm to produce fragments in a linebox-by-linebox fashion. Nearly there!

Karl Anders Øygard

Oct 10, 2017, 1:16:34 PM10/10/17
Time off most of last week, so not a lot of activity.

- Landed fix for the overpainting bug (
- Discussed the NG table cell patch ( with Morten.  Reviving it now, and will try to rework it into something hopefully a little more palatable.


Xiaocheng Hu

Oct 10, 2017, 1:28:53 PM10/10/17
to Karl Anders Øygard,
Last week:
- Gave up the idea of TextIterator-free editing utilities
- Ended up studying editing functions using InlineBox, and designing new LayoutNG APIs for them

This week:
- Rewrite position canonicalization on top of offset mapping
- Prototype another mapping from inline node text content to line structures

You received this message because you are subscribed to the Google Groups "layout-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to

Dominik Röttsches

Oct 13, 2017, 10:11:31 AM10/13/17
to Xiaocheng Hu, Karl Anders Øygard,
Last week,

  • Prepared spec changes and test case to nudge text-decoration-skip: ink objects; discussion

  • Implemented CBCL/CBDT, CFF2 and SBIX instantiation + testing

  • Reviewed Freetype + HarfBuzz joint GN target CL

This week in a workshop with Behdad, addressing Mac trak table system font letter spacing, and other things.

Dominik Röttsches

Oct 13, 2017, 10:13:31 AM10/13/17
to Xiaocheng Hu, Karl Anders Øygard,
PS: Landed a fuzzer for HarfBuzzShaper as part of Fuzzathon.
Reply all
Reply to author
0 new messages