the Chromium logo

The Chromium Projects

September 2021 - New features, testing, code health, interop fixes and more!

September 2021 Chrome Interactions Highlights Archives: go/interactions-team-highlights
Chapter I: New features
<td><td>We got official signal from Mozilla (annevk@): <a
href="https://github.com/mozilla/standards-positions/issues/565#issuecomment-918137857">useful/reasonable</a>.</td></td>

<td><td>Mozilla also <a
href="https://github.com/WICG/capability-delegation/issues?q=is%3Aissue+author%3Aannevk+">started
bugs & enhancements</a> discussions.</td></td>
<td><td>We do see performance improvement on Animations Smoothness
metrics.</td></td>

<td><td>There is no memory regression on Android</td></td>

<td><td>There is no regression on FirstContentfulPaint and
LargestContenfulPaint.</td></td>
<td><td>The feature is now <a
href="https://chromium-review.googlesource.com/c/chromium/src/+/3150217">on
by default on tip of tree</a>.</td></td>

<td><td>Merged <a href="https://crbug.com/1240789">reduce stretch amount</a>
and <a href="https://crbug.com/1232154">prefers-reduce-motion</a> behavior
back to M93.</td></td>

<td><td>Finch <a href="https://critique-ng.corp.google.com/cl/396373932">min
version updated</a> to include two recent merges and <a
href="https://critique-ng.corp.google.com/cl/396395915">launched to 1%
stable</a>.</td></td>

<td><td>Launch to 100% <a
href="https://critique-ng.corp.google.com/cl/396900469">out for
review</a>.</td></td>
Capability Delegation image image mustaq@ has been working on the spec proposal for the capability delegation. For payment capability delegation, the origin trial is now ready for partners. Composite BG-color animation xidachen@ launched the finch study for the feature CompositeBGColorAnimation on Beta channel, with 50% control vs 50% enabled. The preliminary result looks very positive (Note that currently we have < 7 days of data). Here are some highlights of the result: Elastic Overscroll flackr@ made great progress on launching elastic overscroll.
Chapter II: Testing
<td><td>Given that these are flaky tests, the auto bisect tool doesn’t work.
We have to manually bisect it to find out that it is due to the launch of <a
href="http://navigationthreadingoptimizations">this new feature</a> that
makes navigation faster.</td></td>

<td><td>With many times of try and error, it seems that the combination of
paint worklet test + a simple div in ref.html somehow caused the crash. The
root cause is unknown yet.</td></td>
<td><td>Error tolerances were too tight.</td></td>

<td><td>Sensitive to scrollbar width (platform specific)</td></td>

<td><td>Magic numbers in tests (tough to infer correctness at a
glance)</td></td>

<td><td>Misleading calculations (e.g. scrollheight - clientHeight to compute
scroll range in both directions)</td></td>

<td><td>Mixup of logical units in RTL tests.</td></td>
<td><td>Compute error tolerance for percentage calculations based on a half
pixel error in the scroll position.</td></td>

<td><td>Hide scrollbars to ensure that scroll-range is consistent across
platforms.</td></td>
Composite BG-color animation image xidachen@ fixed some very flaky paint worklet tests. Cross-platform scroll-timeline tests kevers@fixed some scroll-timeline tests. The issues are: The issues were discovered when testing via polyfill implementation. A significant number of near misses in test failures. The solutions are:
Chapter III: Code Health
<td><td>13 failures from 4 functional regressions (3 P1s, 1 P2), bugs
filed</td></td>

    <td><td>Cannot touch-drag custom scrollbars, resize corners</td></td>

    <td><td>Re-latch when scroller removed from DOM</td></td>

    <td><td>Scollbar arrow click scrolls by only 1px</td></td>

<td><td>12 failures from bad test (waitForCompositorCommit, rebaseline,
etc)</td></td>

<td><td>5 requiring more investigation (3 plugin related)</td></td>
Triage scroll unification failing web tests image skobes@ triaged failing web tests for scroll unification and the details are captured here. At this moment, there are 30 failing tests
Chapter IV: Interop fixes
<td><td>Proxied AnimationEffect to override timing calculations</td></td>

<td><td>Custom AnimationPlaybackEvents to report percentage based
times</td></td>

<td><td>Removed time-range from scroll timeline proxy</td></td>

<td><td>Conversion between percents for API and times for internal
use</td></td>
Scroll-timeline polyfill kevers@ made more progress on scroll-timeline polyfill. Two problematic tests remain with high failure rates, reminder average over 90% pass rate. The remaining work includes update timing and event phase.
Chapter V: Bug Updates imageimage Our team lost a bit of ground in P2s && P3s, but kept the P1s in check.
Chrome Interactions Highlights | September 2021 go/interactions-team