[webkit-changes] [WebKit/WebKit] 40453f: [UI-side compositing] Keyboard scrolling Amazon.co...

Richard Robinson noreply at github.com
Mon Dec 12 10:08:28 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 40453f0edcf34cb76ca4095f3a779a69a09c8393
      https://github.com/WebKit/WebKit/commit/40453f0edcf34cb76ca4095f3a779a69a09c8393
  Author: Richard Robinson <richard_robinson2 at apple.com>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h
    M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
    M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
    M Source/WebCore/platform/KeyboardScroll.h
    M Source/WebCore/platform/ScrollTypes.cpp
    M Source/WebCore/platform/ScrollTypes.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  -----------
  [UI-side compositing] Keyboard scrolling Amazon.com crashes Safari
https://bugs.webkit.org/show_bug.cgi?id=248924
rdar://103058005

Reviewed by Aditya Keerthi.

`KeyboardScroll` and `RequestedKeyboardScrollData` were not IPC encodable or
decodable, so they were initialized with arbitrary values with UI-side compositing,
causing unexpected behavior and crashing.

This PR makes both of these encodable and decodable, provides equality comparison
operators for both, and provides all fields of both data types with sensible
initial values.

* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h:
(WebCore::RequestedKeyboardScrollData::operator== const):
* Source/WebCore/platform/KeyboardScroll.h:
(WebCore::KeyboardScroll::operator== const):
* Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<KeyboardScroll>::encode):
(ArgumentCoder<KeyboardScroll>::decode):
(WebKit::dump):

Canonical link: https://commits.webkit.org/257734@main




More information about the webkit-changes mailing list