breadcrumbs: '' page_name: july-2021---new-features-fixit-stability-security-fixes-interop-fixes-and-more title: July 2021 - New features, fixit, stability/security fixes, interop fixes and more!

July 2021

Chrome Interactions Highlights

Archives: go/interactions-team-highlights

Chapter I: New features

Composite multiple transformations


kevers@ landed a CL to composite multiple transformations.


CSS has 4 transformation properties: translate, scale, rotate and transform.

Previously, we could only composite a single transformation.


Compositor only know about transform, and the others were converted.

Ordering is important

WorkletAnimations tick later than the rest to allow time for worklet code to


Expand set of target properties in CC


Capability Delegation

mustaq@ finalized Q3-Q4 shipping plan:

origin trial at M94

ship at M96 without PaymentRequest changes, and

ship PaymentRequest changes after holidays.

We considered possible
[TAG]( delays,
no-breakage during holiday shopping, and motivating Stripe changes. Thanks
to smcgruer@ and jyasskin@.

Android Elastic Overscroll

image image

flackr@ has landed all patches for elastic overscroll, which includes:

Transform overscroll stretch

Pixel shader stretch

Disable glow when stretch is enabled

Disable stretch on webview when native stretch is used

Disable stretch in non-scrollable directions

Only enable stretch on Android 12 or later


Memory.GPU.PrivateMemoryFootprint and Memory.GPU.PeakMemoryUsage2.Scroll

The preliminary finch result for “Android Elastic Overscroll” is shown above. The only substantial difference seemed to be GPU memory usage:

Roughly 10% increase in Memory.GPU.PeakMemoryUsage2.Scroll

Slightly increase in Memory.Gpu.PrivateMemoryFootprint

Chapter II: Fixit

Fix a float-cast-overflow


xidachen@ fixed a float-cast-overflow bug. There is no local repro, and a speculative fix actually fixed the problem.

Fix a float-cast-overflow


xidachen@ added more documentation in the csspaint/ folder to explain the workflow of the paint worklet.

Fix a flaky animations layout test

This layout test is one of the top flakes under the Blink>Animation category. The root cause seems to be a precision issue with animation time comparison, which is addressed in this CL.

Fix a few PointerLock crashes

mustaq@ fixed a 9-year-old exit instruction bug between fullscreen and repeated lock-unlock requests, by untangling exit instruction confusion between browser-vs-content fullscreen exit instructions to keep the “nested fullscreening” case clear to users.

Also fixed a crash with repeated locks around a removed element.

Chapter III: Stability/security fixes

Chrome_Android: Crash report


flackr@ fixed a crash on chrome android. The fix is that the overscroll stretch effect node needed an output clip set (CL).

Prevent script execution during lifecycle update

flackr@ landed a fix that prevents further security bugs resulting from accidentally running script during the lifecycle. Specific exceptions made for cases where script execution is known to be safe or handled:






Crashed hittesting with “uneditable” editable elements


mustaq@ fixed a crash bug. The root cause is simply that hittest code is unaware that the contenteditable element is not editable (CL).

Binary size increase


flackr@ investigated a binary size increase bug on Android, where Android stretch shader adds a large (~6KB) shader string (shown above).

Short term, only include shader string on Android

Long term, find a way to [compress

Chapter IV: Interop fixes

Simplify pointer-events spec tracking of changed targets


flackr@ simplifies pointer-events spec. Previously the spec had a dirty flag which lazily updated the targets of coalesced/predicted events.

Leaks implementation details into the spec

Updated this to immediately update the dependent lists

Remove dirty flag

Well-known when targets change.

Chapter V: à la carte

Refactor native paintworklet

xidachen@ proposed a refactor to the native paintworklet code. Detailed doc is here, the first CL has landed.

Scroll Unification - Google Docs jumpy scrollbar drags


skobes@ landed a CL that fixes a jumpy scrollbar bug.

Chapter VI: Bug Updates

image image

The increase in P1 bugs appears to be linked to influx of fixit-2021-testing-flaky bugs. Some efforts is required to properly triage them.

Chrome Interactions Highlights | July 2021