Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 40453f0edcf34cb76ca4095f3a779a69a09c8393
      
https://github.com/WebKit/WebKit/commit/40453f0edcf34cb76ca4095f3a779a69a09c8393
  Author: Richard Robinson <richard_robins...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to