--- 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. Background CSS has 4 transformation properties: translate, scale, rotate and transform. Previously, we could only composite a single transformation. Challenges 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 run. Solution Expand set of target properties in CC ScopedCompoundTransformResolver 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 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: ResizeObserver IntersectionObserver PaintWorklet::Paint LayoutWorklet Plugin::Dispose\* 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 (CL). Long term, find a way to compress string. 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 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 | go/interactions-team