Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 29bbd2e51d5489a3fbc500300a2c5b1e2e20c6d5
      
https://github.com/WebKit/WebKit/commit/29bbd2e51d5489a3fbc500300a2c5b1e2e20c6d5
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2023-09-13 (Wed, 13 Sep 2023)

  Changed paths:
    M Source/WebCore/page/scrolling/ScrollingStateNode.cpp
    M Source/WebCore/page/scrolling/ScrollingStateNode.h
    M Source/WebCore/page/scrolling/ScrollingStateTree.cpp
    M Source/WebCore/page/scrolling/ScrollingStateTree.h
    M Source/WebKit/DerivedSources-input.xcfilelist
    M Source/WebKit/DerivedSources.make
    M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
    M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h
    A 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Re-merge 267109@main
https://bugs.webkit.org/show_bug.cgi?id=261466
rdar://115368009

Reviewed by Simon Fraser.

Well, he reviewed the original PR and told me in person that attaching the tree 
after
deserialization was an ok approach.

267109@main was reverted for good reason.  I introduced using the move 
constructor to create a
std::unique_ptr<ScrollingStateTree> from a ScrollingStateTree&&, but I didn't 
update
ScrollingStateNode.m_scrollingStateTree, so it was pointing to freed memory.  
This version
updates that pointer and prepares for the next step, when I'll decode the 
ScrollingStateNodes
without the context of the tree then attach them all to the tree.

* Source/WebCore/page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::attachAfterDeserialization):
(WebCore::ScrollingStateNode::setPropertyChanged):
(WebCore::ScrollingStateNode::setPropertyChangesAfterReattach):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::scrollingStateTree const):
* Source/WebCore/page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::attachDeserializedNodes):
* Source/WebCore/page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::scrollingNodeAdded):
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources.make:
* 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(encodeNodeAndDescendants):
(ArgumentCoder<WebCore::ScrollingStateTree>::encode):
(ArgumentCoder<WebCore::ScrollingStateTree>::decode):
(WebKit::RemoteScrollingCoordinatorTransaction::RemoteScrollingCoordinatorTransaction):
(WebKit::encodeNodeAndDescendants): Deleted.
(WebKit::RemoteScrollingCoordinatorTransaction::encode const): Deleted.
(WebKit::RemoteScrollingCoordinatorTransaction::decode): Deleted.
* Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h:
(WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree const):
* 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in:
 Added.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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


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

Reply via email to