[webkit-changes] [WebKit/WebKit] 5172cd: Import wpts for css-scrollbars

2024-07-10 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5172cde601cc8795578f60f068b187b283a296bf
  
https://github.com/WebKit/WebKit/commit/5172cde601cc8795578f60f068b187b283a296bf
  Author: Nikolaos Mouchtaris 
  Date:   2024-07-10 (Wed, 10 Jul 2024)

  Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/imported/w3c/resources/resource-files.json
R 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/auto-scrollbar-inline-children-expected.txt
R 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/auto-scrollbar-inline-children.html
R 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/multicol-in-orthogonal-writing-mode-crash.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-001.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-002.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-003.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-004.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-005.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-006-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-006-mis-ref.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-006.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-007-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-007-mis-ref.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-007.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-008-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-008-mis-ref.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-008.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-009-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-009-mis-ref.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-009.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-010-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-010-mis-ref.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-010.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-mis-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-011.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-012-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-012-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-012.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-mis-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-1.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-mis-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-2.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-3-expected-mismatch.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-3-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scrollbars/scrollbar-color-dynamic-3-mis-ref.html
 

[webkit-changes] [WebKit/WebKit] 7ce8ca: Crash under WebCore::ScrollableArea::availableCont...

2024-06-21 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7ce8caf68469c9210478f4ceb968ce758a789f55
  
https://github.com/WebKit/WebKit/commit/7ce8caf68469c9210478f4ceb968ce758a789f55
  Author: Nikolaos Mouchtaris 
  Date:   2024-06-21 (Fri, 21 Jun 2024)

  Changed paths:
A 
LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-crash-expected.txt
A LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-crash.html
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/platform/ScrollableArea.cpp

  Log Message:
  ---
  Crash under WebCore::ScrollableArea::availableContentSizeChanged
https://bugs.webkit.org/show_bug.cgi?id=275458
rdar://129621091

Reviewed by Tim Horton.

Add a call to the default scrollbars creator if page is null in
LocalFrameView::createScrollbarsController. Also add a release assert to
catch any cases of this in the future.

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::createScrollbarsController):
* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollbarsController const):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 0806b9: Invalid IPC from RemoteScrollingCoordinator with e...

2024-06-18 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0806b90dc5f60cda347cc0a1f190247be23f8d5a
  
https://github.com/WebKit/WebKit/commit/0806b90dc5f60cda347cc0a1f190247be23f8d5a
  Author: Nikolaos Mouchtaris 
  Date:   2024-06-18 (Tue, 18 Jun 2024)

  Changed paths:
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h

  Log Message:
  ---
  Invalid IPC from RemoteScrollingCoordinator with empty ScrollingNodeID
https://bugs.webkit.org/show_bug.cgi?id=275574
rdar://130011125

Reviewed by Charlie Wolfe.

When the root scrolling node is null we can ipc an empty scrolling node which
is invalid. Add a check before sending the ipc.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::deferWheelEventTestCompletionForReason):
(WebKit::RemoteScrollingCoordinatorProxy::removeWheelEventTestCompletionDeferralForReason):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 5c367f: REGRESSION (UI-side compositing) Disabled scrollba...

2024-06-14 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5c367f97364c91adb1982fe3ede5bfd7b0fa6940
  
https://github.com/WebKit/WebKit/commit/5c367f97364c91adb1982fe3ede5bfd7b0fa6940
  Author: Nikolaos Mouchtaris 
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
M LayoutTests/css3/scroll-snap/nested-elements-expected.txt
M LayoutTests/css3/scroll-snap/nested-elements.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt
M LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type.html
A LayoutTests/platform/ios/css3/scroll-snap/nested-elements-expected.txt
M 
LayoutTests/platform/mac-ventura-wk2/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt
M Source/WebCore/testing/Internals.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp

  Log Message:
  ---
  REGRESSION (UI-side compositing) Disabled scrollbars don't show in some cases
https://bugs.webkit.org/show_bug.cgi?id=261295
rdar://115137778

Reviewed by Simon Fraser.

For the case where we need to show disabled scrollbars on a scroller without a 
layer we need
to have the scrollbars controller of type ScrollbarsControllerMac, so that we 
can create
a temporary NSScrollerImp in the web process to display the disabled scrollbars 
(similar to
what we do for svg foreign object, etc.). However, the previous fix checked 
usesAsyncScrolling
to determine this, but it is better to check usesCompositedScrolling (as for 
this case
usesAsyncScrolling returns true even when we don't have a layer). For the 
normal case we will
properly update the scrollbars controller type to RemoteScrollbarsController 
for when the layer
is made, and for this case where the layer isn't made, we will properly use 
ScrollbarsControllerMac.

* 
LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt:
* LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type.html:
* Source/WebCore/platform/ScrollableArea.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore:: const):
(WebCore::Internals::scrollbarsControllerTypeForNode const):
* Source/WebCore/testing/Internals.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::ensureScrollbarsController const):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 602713: REGRESSION: Bad flashing scrolling msn.com article...

2024-05-29 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6027137b2de4527ee793e0ad300aa458b5d5ae3a
  
https://github.com/WebKit/WebKit/commit/6027137b2de4527ee793e0ad300aa458b5d5ae3a
  Author: Nikolaos Mouchtaris 
  Date:   2024-05-29 (Wed, 29 May 2024)

  Changed paths:
A 
LayoutTests/fast/visual-viewport/ios/visual-viewport-dimensions-during-scroll-with-keyboard-expected.txt
A 
LayoutTests/fast/visual-viewport/ios/visual-viewport-dimensions-during-scroll-with-keyboard.html
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

  Log Message:
  ---
  REGRESSION: Bad flashing scrolling msn.com article when search field has 
focus (content-visibility)
https://bugs.webkit.org/show_bug.cgi?id=274624
rdar://127743319

Reviewed by Simon Fraser.

The cause of the flashing is that the IntersectionObserver computed that the 
content-visibility: auto
elements were going in and out of the visual viewport rapidly. This was due to 
the visual viewport’s value
changing between two locations, due to the difference in how it is computed 
between
LocalFrameView::updateLayoutViewport and 
AsyncScrollingCoordinator::reconcileScrollingState. In
LocalFrameView::updateLayoutViewport, the visual viewport is used in 
computeLayoutViewportOrigin to
compute the new location of the layout viewport. When the keyboard is visible, 
m_visualViewportOverrideRect
is sent via WebPage::updateVisibleContentRects, but is not udpated during 
unstable state, causing
computeLayoutViewportOrigin to use a stale version of the visual viewport. The 
solution is to always update
the visualViewportOverrideRect value if received from the ui process.

* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 48aa61: [Site Isolation] Properly create scrolling tree fo...

2024-05-09 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 48aa61d62068efcceb7aebce99d86384e5d2f0f0
  
https://github.com/WebKit/WebKit/commit/48aa61d62068efcceb7aebce99d86384e5d2f0f0
  Author: Nikolaos Mouchtaris 
  Date:   2024-05-09 (Thu, 09 May 2024)

  Changed paths:
M LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html
A 
LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames-expected.txt
A LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames.html
A 
LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame-expected.txt
A LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame.html
M LayoutTests/platform/ios/TestExpectations
M Source/WTF/WTF.xcodeproj/project.pbxproj
M Source/WTF/wtf/CMakeLists.txt
A Source/WTF/wtf/SmallMap.h
M Source/WebCore/dom/Document.cpp
M Source/WebCore/page/LocalFrame.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateTree.h
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp
M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h
M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.h
M Source/WebCore/rendering/RenderListBox.cpp
M Source/WebCore/rendering/RenderListBox.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm
M Tools/TestWebKitAPI/Tests/WTF/SmallSet.cpp

  Log Message:
  ---
  [Site Isolation] Properly create scrolling tree for web process with multiple 
root frames
https://bugs.webkit.org/show_bug.cgi?id=272721
rdar://126001790

Reviewed by Simon Fraser.

Adjust AsyncScrollingCoordinator to hold a scrolling state tree per root frame.
Also thanks to Alex who helped take this pr over the finishing line.

* LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html:
* 
LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames-expected.txt:
 Added.
* LayoutTests/http/tests/site-isolation/scrolling/multiple-root-frames.html: 
Copied from 
LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html.
* 
LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame-expected.txt: 
Added.
* LayoutTests/http/tests/site-isolation/scrolling/remove-root-frame.html: Added.
* LayoutTests/platform/ios/TestExpectations:
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/CMakeLists.txt:
* Source/WTF/wtf/SmallMap.h: Added.
(WTF::SmallMap::ensure):
(WTF::SmallMap::remove):
(WTF::SmallMap::get const):
(WTF::SmallMap::forEach const):
(WTF::SmallMap::size const):
(WTF::SmallMap::rawStorage const):
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setBackForwardCacheState):
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::~LocalFrame):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::rootFrameID const):
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::stateNodeForNodeID const):
(WebCore::AsyncScrollingCoordinator::stateNodeForScrollableArea const):
(WebCore::AsyncScrollingCoordinator::ensureScrollingStateTreeForRootFrameID):
(WebCore::AsyncScrollingCoordinator::existingScrollingStateTreeForRootFrameID 
const):
(WebCore::AsyncScrollingCoordinator::rootFrameWasRemoved):
(WebCore::AsyncScrollingCoordinator::stateTreeForNodeID const):
(WebCore::AsyncScrollingCoordinator::willCommitTree):
(WebCore::AsyncScrollingCoordinator::updateEventTrackingRegions):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewEventTrackingRegionsChanged):
(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode 

[webkit-changes] [WebKit/WebKit] 5b9a24: Ensure RemoteScrollbarsController is used by scrol...

2024-05-08 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5b9a2467dd21e23e6ac66ee621f68b35611b0f6d
  
https://github.com/WebKit/WebKit/commit/5b9a2467dd21e23e6ac66ee621f68b35611b0f6d
  Author: Nikolaos Mouchtaris 
  Date:   2024-05-08 (Wed, 08 May 2024)

  Changed paths:
A 
LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt
A LayoutTests/fast/scrolling/mac/scrollbars/scrollbars-controller-type.html
A 
LayoutTests/platform/mac-monterey-wk2/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt
A 
LayoutTests/platform/mac-ventura-wk2/fast/scrolling/mac/scrollbars/scrollbars-controller-type-expected.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/page/ChromeClient.cpp
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebCore/platform/mac/ScrollbarsControllerMac.h
M Source/WebCore/platform/mock/ScrollbarsControllerMock.h
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h

  Log Message:
  ---
  Ensure RemoteScrollbarsController is used by scrollable areas with async 
scrolling
https://bugs.webkit.org/show_bug.cgi?id=272935
rdar://126719107

Reviewed by Simon Fraser.

After https://commits.webkit.org/277015@main added use of usesAsyncScrolling to 
determine the scrollbars
controller type, and since usesAsyncScrolling is not correct prior to layer 
creation, ensure creation of
a RemoteScrollbarsController after layer creation if the scrollable area does 
use async scrolling.

* Source/WebCore/platform/ScrollableArea.h:
(WebCore::ScrollableArea::updateScrollbarsControllerForLayerCreation):
(WebCore::ScrollableArea::hasRemoteScrollbarsController):
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::isRemoteScrollbarsController):
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingRole):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::updateScrollbarsControllerForLayerCreation):
(WebCore::RenderLayerScrollableArea::createScrollbarsController):
* Source/WebCore/rendering/RenderLayerScrollableArea.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollbarsController const):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 70994f: Factor out stateNodeForID calls in AsyncScrollingC...

2024-04-30 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 70994f6c7424e77819499f8dca387982a93cf0b1
  
https://github.com/WebKit/WebKit/commit/70994f6c7424e77819499f8dca387982a93cf0b1
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h

  Log Message:
  ---
  Factor out stateNodeForID calls in AsyncScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=273347
rdar://127142962

Reviewed by Alex Christensen.

In anticipation of https://github.com/WebKit/WebKit/pull/27300 factor out use 
of stateNodeForID in
AsyncScrollingCoordinator.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::stateNodeForNodeID const):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewVisualViewportChanged):
(WebCore::AsyncScrollingCoordinator::frameViewWillBeDetached):
(WebCore::AsyncScrollingCoordinator::updateIsMonitoringWheelEventsForFrameView):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::requestStartKeyboardScrollAnimation):
(WebCore::AsyncScrollingCoordinator::requestStopKeyboardScrollAnimation):
(WebCore::AsyncScrollingCoordinator::requestScrollToPosition):
(WebCore::AsyncScrollingCoordinator::stopAnimatedScroll):
(WebCore::AsyncScrollingCoordinator::setScrollbarLayoutDirection):
(WebCore::AsyncScrollingCoordinator::setMouseIsOverScrollbar):
(WebCore::AsyncScrollingCoordinator::setMouseIsOverContentArea):
(WebCore::AsyncScrollingCoordinator::setMouseMovedInContentArea):
(WebCore::AsyncScrollingCoordinator::setLayerHostingContextIdentifierForFrameHostingNode):
(WebCore::AsyncScrollingCoordinator::setScrollbarEnabled):
(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const):
(WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
(WebCore::AsyncScrollingCoordinator::parentOfNode const):
(WebCore::AsyncScrollingCoordinator::childrenOfNode const):
(WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
(WebCore::AsyncScrollingCoordinator::setNodeLayers):
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry):
(WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeConstraints):
(WebCore::AsyncScrollingCoordinator::setPositionedNodeConstraints):
(WebCore::AsyncScrollingCoordinator::setRelatedOverflowScrollingNodes):
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
(WebCore::AsyncScrollingCoordinator::synchronousScrollingReasons const):
(WebCore::AsyncScrollingCoordinator::updateScrollSnapPropertiesWithFrameView):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d0bcde: [Site Isolation] Re-enable site-isolation/window-p...

2024-04-22 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d0bcde3bde39037225d11bb794dc5b297f2960ba
  
https://github.com/WebKit/WebKit/commit/d0bcde3bde39037225d11bb794dc5b297f2960ba
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
M LayoutTests/platform/mac-wk2/TestExpectations

  Log Message:
  ---
  [Site Isolation] Re-enable site-isolation/window-properties.html
https://bugs.webkit.org/show_bug.cgi?id=269639
rdar://123547612

Unreviewed re-enable of test.

* LayoutTests/platform/mac-wk2/TestExpectations:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 2dc674: REGRESSION (277015@main): [ Sonoma WK2 ] fast/scro...

2024-04-11 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2dc674ade9a440ea454fd5e535aa8b63cdc3b64c
  
https://github.com/WebKit/WebKit/commit/2dc674ade9a440ea454fd5e535aa8b63cdc3b64c
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-11 (Thu, 11 Apr 2024)

  Changed paths:
M 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered.html
M LayoutTests/platform/mac-wk2/TestExpectations
M LayoutTests/resources/ui-helper.js

  Log Message:
  ---
  REGRESSION (277015@main): [ Sonoma WK2 ] 
fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html is a 
consistent timeout
https://bugs.webkit.org/show_bug.cgi?id=272188
rdar://125932798

Reviewed by Simon Fraser.

Since a scrollable area does not immediately have a scrolling node id, directly 
use the web process scrollbar state
for the svg foriegn object test added in https://commits.webkit.org/277015@main.

* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered.html:
* LayoutTests/platform/mac-wk2/TestExpectations:
* LayoutTests/resources/ui-helper.js:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 1a5f9a: Assertion in WTF::Lock::lock when destroying RefPt...

2024-04-08 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1a5f9aa863878a836c96eb2c7107485ec9e520f1
  
https://github.com/WebKit/WebKit/commit/1a5f9aa863878a836c96eb2c7107485ec9e520f1
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-08 (Mon, 08 Apr 2024)

  Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm

  Log Message:
  ---
  Assertion in WTF::Lock::lock when destroying RefPtr in 
ScrollerPairMac::valuesForOrientation
https://bugs.webkit.org/show_bug.cgi?id=272352
rdar://125368542

Reviewed by Alex Christensen.

Add temporary fix for crashing tests while investigating rdar://126001790.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTreeTransaction):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 4f1ded: REGRESSION (UI-side compositing) overflow:scroll i...

2024-04-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4f1ded96b3967cf2de4cc260b1e49940e93822e4
  
https://github.com/WebKit/WebKit/commit/4f1ded96b3967cf2de4cc260b1e49940e93822e4
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-03 (Wed, 03 Apr 2024)

  Changed paths:
A 
LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered-expected.txt
A 
LayoutTests/fast/scrolling/mac/scrollbars/svg-foreign-object-overlay-scrollbar-hovered.html
M LayoutTests/resources/ui-helper.js
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm

  Log Message:
  ---
  REGRESSION (UI-side compositing) overflow:scroll inside SVG foreignObject 
fails to render scrollbars
https://bugs.webkit.org/show_bug.cgi?id=261227
rdar://115075206

Reviewed by Simon Fraser.

Keep NSScrollerImps in the web process for scrollers inside svg foreignObject as
they don't follow the normal code path for creating scrollbars in the UI 
process.

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::usesOverlayScrollbars const):
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
* Source/WebCore/platform/mac/NSScrollerImpDetails.h:
* Source/WebCore/platform/mac/NSScrollerImpDetails.mm:
(WebCore::ScrollerStyle::usesOverlayScrollbars):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::registerScrollbarsForScrollableAreaInSVGForeignObject):
(WebCore::RenderLayer::updateAncestorDependentState):
* Source/WebCore/rendering/RenderLayer.h:
(WebCore::RenderLayer::isInsideSVGForeignObject const):
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
(WebKit::RemoteScrollbarsController::shouldRegisterScrollbars const):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] d159d1: [ iOS17 ] fast/scrolling/ios/scroll-anchoring-mome...

2024-04-02 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d159d134072de7caa8ba548fafd398491a91e633
  
https://github.com/WebKit/WebKit/commit/d159d134072de7caa8ba548fafd398491a91e633
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
M 
LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt
M LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html
M LayoutTests/platform/ios/TestExpectations

  Log Message:
  ---
  [ iOS17 ] 
fast/scrolling/ios/scroll-anchoring-momentum-scroll.html(layout-tests) is a 
constant TEXT failure
https://bugs.webkit.org/show_bug.cgi?id=266010
rdar://119684431

Reviewed by Simon Fraser.

When originally testing this test I was using an iPhone 14 simulator, which 
produces a different value
than the iPhone 12 simulator. Fixing this value should cause it to pass on both 
simulators.

* LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt:
* LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html:
* LayoutTests/platform/ios/TestExpectations:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] c514a1: Remove logging from 276439@main

2024-04-02 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c514a13a656c772e5bfa6ce7abc688beb74451ac
  
https://github.com/WebKit/WebKit/commit/c514a13a656c772e5bfa6ce7abc688beb74451ac
  Author: Nikolaos Mouchtaris 
  Date:   2024-04-02 (Tue, 02 Apr 2024)

  Changed paths:
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp

  Log Message:
  ---
  Remove logging from 276439@main
https://bugs.webkit.org/show_bug.cgi?id=272042
rdar://125793383

Unreviewed removal of logging.

* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::availableContentSizeChanged):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] f4e8dd: [Site Isolation] Send scrollbar updates to the cor...

2024-03-27 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f4e8dd67ff25b2f6e6949cdfad9e80c22a73a941
  
https://github.com/WebKit/WebKit/commit/f4e8dd67ff25b2f6e6949cdfad9e80c22a73a941
  Author: Nikolaos Mouchtaris 
  Date:   2024-03-27 (Wed, 27 Mar 2024)

  Changed paths:
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h

  Log Message:
  ---
  [Site Isolation] Send scrollbar updates to the correct web process
https://bugs.webkit.org/show_bug.cgi?id=269946
rdar://123470527

Reviewed by Alex Christensen.

Send updates about scrollbar visibility and scrollbar thumb thickness to the
corresponding web process of the relevant scrolling node.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarVisibilityDidChange):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendScrollingTreeNodeScrollbarVisibilityDidChange):
(WebKit::WebPageProxy::sendScrollingTreeNodeScrollbarMinimumThumbLengthDidChange):
* Source/WebKit/UIProcess/WebPageProxy.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 81451d: REGRESSION (UI-side compositing) changing between ...

2024-03-20 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 81451dabde97ba73cbed2abc4c4be64957aa20f6
  
https://github.com/WebKit/WebKit/commit/81451dabde97ba73cbed2abc4c4be64957aa20f6
  Author: Nikolaos Mouchtaris 
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
A 
LayoutTests/fast/scrolling/mac/scrollable-area-size-for-overlay-scrollbars-expected.txt
A 
LayoutTests/fast/scrolling/mac/scrollable-area-size-for-overlay-scrollbars.html
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/platform/Scrollbar.cpp
M Source/WebCore/platform/Scrollbar.h
M Source/WebCore/platform/ScrollbarsController.cpp
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebCore/platform/mac/ScrollbarsControllerMac.h
M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebCore/testing/Internals.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  ---
  REGRESSION (UI-side compositing) changing between non-overlay and overlay 
scrollbars should adjust the size of the scrollable area
https://bugs.webkit.org/show_bug.cgi?id=263618
rdar://117507268

Reviewed by Simon Fraser.

This patch fixes a couple bugs related to switching back and forth dynamically 
between
overlay and non-overlay scrollbars. First, setFrameScrollingNodeState() was not 
always
called when switching the default, so iterate through each page and call
LocalFrameView::overlayScrollbarDefaultDidChange to force a scrolling commit to 
plumb
across this state change. Second, when we get the state change on the 
ui-process side,
we call _updateAllScrollerImpPairsForNewRecommendedScrollerStyle, which 
notifies all the
scroller imp pairs in the process of the new style. On the web process side, we 
had code
to adjust the scrollbar thickness and force a relayout, which now doesn't work 
since there
are no NSScrollerImpPairs in the web process. Instead, replicate this code in
RemoteScrollbarsController and loop through the scrollable areas in the 
FrameView. This
takes care of updating scrollable areas with overflow, while
https://github.com/WebKit/WebKit/pull/19561 will take care of updating 
scrollable areas
without overflow. Also add some additional testing infrastructure to compare 
the size of
the scrollable area before and after toggling scrollbar style.

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::usesOverlayScrollbars const):
(WebCore::LocalFrameView::overlayScrollbarDefaultDidChange):
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeMarkScrollbarStyleChange):
(WebCore::ScrollingTree::scrollingTreeNodesWithScrollbarStyleChange):
(WebCore::ScrollingTree::clearScrollingTreeNodesWithScrollbarStyleChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::markHasScrollbarStyleChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(-[WebScrollerImpPairDelegateMac 
scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::updateScrollbarThickness):
* Source/WebCore/platform/Scrollbar.h:
* Source/WebCore/platform/ScrollbarsController.cpp:
(WebCore::ScrollbarsController::updateScrollbarsThickness):
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::updateScrollerStyle):
* Source/WebCore/platform/mac/ScrollbarsControllerMac.h:
* Source/WebCore/platform/mac/ScrollbarsControllerMac.mm:
(WebCore::ScrollbarsControllerMac::updateScrollerStyle):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingNodesHaveScrollbarStyleChange):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyMac::didCommitLayerTree):
* 

[webkit-changes] [WebKit/WebKit] 4c242e: Have WheelEventTestMonitor use ScrollableAreaIds

2024-03-18 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4c242ed078742ebb14b48bd6c3e6dcef466d7d3e
  
https://github.com/WebKit/WebKit/commit/4c242ed078742ebb14b48bd6c3e6dcef466d7d3e
  Author: Nikolaos Mouchtaris 
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/WheelEventTestMonitor.cpp
M Source/WebCore/page/WheelEventTestMonitor.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp
M 
Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.cpp
M Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.h
M Source/WebCore/platform/ScrollAnimator.cpp
M Source/WebCore/platform/ScrollAnimator.h
M Source/WebCore/platform/ScrollableArea.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/platform/ScrollingEffectsController.cpp
M Source/WebCore/platform/ScrollingEffectsController.h
M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm
M Source/WebCore/platform/mac/ScrollingEffectsController.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm

  Log Message:
  ---
  Have WheelEventTestMonitor use ScrollableAreaIds
https://bugs.webkit.org/show_bug.cgi?id=269242
rdar://122833730

Reviewed by Simon Fraser.

Have WheelEventTestMonitor hold a scrolling node id
rather than a void pointer.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEventInternal):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::scrollOffsetChangedViaPlatformWidgetImpl):
* Source/WebCore/page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::deferForReason):
(WebCore::WheelEventTestMonitor::removeDeferralForReason):
* Source/WebCore/page/WheelEventTestMonitor.h:
(WebCore::WheelEventTestMonitorCompletionDeferrer::WheelEventTestMonitorCompletionDeferrer):
* Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::deferWheelEventTestCompletionForReason):
(WebCore::ScrollingCoordinator::removeWheelEventTestCompletionDeferralForReason):
* Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp:
(WebCore::ThreadedScrollingCoordinator::handleWheelEventForScrolling):
* Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.cpp:
(WebCore::ThreadedScrollingTreeScrollingNodeDelegate::deferWheelEventTestCompletionForReason
 const):
(WebCore::ThreadedScrollingTreeScrollingNodeDelegate::removeWheelEventTestCompletionDeferralForReason
 const):
(WebCore::ThreadedScrollingTreeScrollingNodeDelegate::scrollingNodeID const):
* Source/WebCore/page/scrolling/ThreadedScrollingTreeScrollingNodeDelegate.h:
* Source/WebCore/platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::deferWheelEventTestCompletionForReason const):
(WebCore::ScrollAnimator::removeWheelEventTestCompletionDeferralForReason 
const):
(WebCore::ScrollAnimator::scrollingNodeID const):
* Source/WebCore/platform/ScrollAnimator.h:
* Source/WebCore/platform/ScrollingEffectsController.cpp:
(WebCore::ScrollingEffectsController::startDeferringWheelEventTestCompletion):
(WebCore::ScrollingEffectsController::stopDeferringWheelEventTestCompletion):
* Source/WebCore/platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsControllerClient::deferWheelEventTestCompletionForReason
 const):
(WebCore::ScrollingEffectsControllerClient::removeWheelEventTestCompletionDeferralForReason
 const):
* Source/WebCore/platform/mac/ScrollbarsControllerMac.mm:
(WebCore::ScrollbarsControllerMac::didBeginScrollGesture):
(WebCore::ScrollbarsControllerMac::didEndScrollGesture):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledTimerFired):
(WebCore::ScrollbarsControllerMac::sendContentAreaScrolledSoon):
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::willStartRubberBandAnimation):
(WebCore::ScrollingEffectsController::didStopRubberBandAnimation):
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::startDeferringScrollingTestCompletionForNode):
(WebKit::RemoteScrollingCoordinator::stopDeferringScrollingTestCompletionForNode):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e7a46d: REGRESSION (Sonoma?): RTL scrollbar incorrect spacing

2024-03-13 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e7a46d11ffb4d88a4075971be726d8999d8e4230
  
https://github.com/WebKit/WebKit/commit/e7a46d11ffb4d88a4075971be726d8999d8e4230
  Author: Nikolaos Mouchtaris 
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
A LayoutTests/fast/scrolling/mac/scrollbars/rtl-scrollbar-state-expected.txt
A LayoutTests/fast/scrolling/mac/scrollbars/rtl-scrollbar-state.html
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm
M Source/WebCore/rendering/RenderBox.cpp
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm

  Log Message:
  ---
  REGRESSION (Sonoma?): RTL scrollbar incorrect spacing
https://bugs.webkit.org/show_bug.cgi?id=263512
rdar://117355120

Reviewed by Simon Fraser.

We need to pass changes to shouldPlaceVerticalScrollbarOnLeft to the UI-process
so that we can properly set userInterfaceLayoutDirection on the scroller imp.
Since on first style change the scrollable area in styleDidChange() doesn't yet
have a render layer backing, also pass accross UserInterfaceLayoutDirection
when we first set the scrollbar layer as well.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setShouldPlaceVerticalScrollbarOnLeft):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setShouldPlaceVerticalScrollbarOnLeft):
* Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
* Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
(WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
* Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.cpp:
(WebCore::ScrollingStatePluginScrollingNode::ScrollingStatePluginScrollingNode):
* Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setShouldPlaceVerticalScrollbarOnLeft):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::shouldPlaceVerticalScrollbarOnLeft 
const):
* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::setShouldPlaceVerticalScrollbarOnLeft):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
* 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
(WebKit::RemoteScrollbarsController::RemoteScrollbarsController):
(WebKit::RemoteScrollbarsController::mouseMovedInContentArea):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 0c592c: Crash under ScrollingStateFixedNode::reconcileLaye...

2024-03-01 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c592c9b1e0c09a411af9b26f6a3e32a2c36a1fd
  
https://github.com/WebKit/WebKit/commit/0c592c9b1e0c09a411af9b26f6a3e32a2c36a1fd
  Author: Nikolaos Mouchtaris 
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp

  Log Message:
  ---
  Crash under ScrollingStateFixedNode::reconcileLayerPositionForViewportRect
https://bugs.webkit.org/show_bug.cgi?id=270361
rdar://105887621

Reviewed by Simon Fraser.

We need a similar fix to https://github.com/WebKit/WebKit/pull/17453 as there is
the same crash signature under 
ScrollingStateFixedNode::reconcileLayerPositionForViewportRect
this time.

* Source/WebCore/page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 2f8893: [css-scroll-snap] Skip renderers with no element i...

2024-02-29 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2f88930ccc922eb8567c8fe24a43ef945bea0127
  
https://github.com/WebKit/WebKit/commit/2f88930ccc922eb8567c8fe24a43ef945bea0127
  Author: Nikolaos Mouchtaris 
  Date:   2024-02-29 (Thu, 29 Feb 2024)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-both-pseudo-expected.txt
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas-both-pseudo.html
M LayoutTests/platform/mac/TestExpectations
M Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp

  Log Message:
  ---
  [css-scroll-snap] Skip renderers with no element in 
updateSnapOffsetsForScrollableArea
https://bugs.webkit.org/show_bug.cgi?id=263093
rdar://111579277

Reviewed by Simon Fraser.

We should skip renderers in updateSnapOffsetsForScrollableArea if they have no 
related element.
For generated content we do generate an associated element as well, so the only 
time a renderer's
element is null is for anonymous renderers (as specified in RenderElement.h as 
well), which we
shouldn't snap to.

* Source/WebCore/page/scrolling/ScrollSnapOffsetsInfo.cpp:
(WebCore::updateSnapOffsetsForScrollableArea):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 733824: [Site Isolation] Choose correct web process for sc...

2024-02-17 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 733824ab0459c4af6ebd6dbd80fa64d1cf86ddd1
  
https://github.com/WebKit/WebKit/commit/733824ab0459c4af6ebd6dbd80fa64d1cf86ddd1
  Author: Nikolaos Mouchtaris 
  Date:   2024-02-17 (Sat, 17 Feb 2024)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h

  Log Message:
  ---
  [Site Isolation] Choose correct web process for scrolling updates from ui 
process
https://bugs.webkit.org/show_bug.cgi?id=268602
rdar://122162277

Reviewed by Alex Christensen.

This is part 3 of splitting up #23242
This chooses the correct web process to send scrolling updates to
based on a map of process ids to root frame ids.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::frameIDForScrollingNodeID):
* Source/WebCore/page/scrolling/ScrollingTree.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::sendScrollingTreeNodeDidScroll):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendScrollPositionChangedForNode):
* Source/WebKit/UIProcess/WebPageProxy.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e7e977: [Site Isolation] Connect scrolling trees from main...

2024-02-17 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e7e9773f128b368bf877a9f1481917a7350e9b05
  
https://github.com/WebKit/WebKit/commit/e7e9773f128b368bf877a9f1481917a7350e9b05
  Author: Nikolaos Mouchtaris 
  Date:   2024-02-17 (Sat, 17 Feb 2024)

  Changed paths:
A 
LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree-expected.txt
A LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html
A 
LayoutTests/http/tests/site-isolation/scrolling/resources/empty-iframe.html
A 
LayoutTests/http/tests/site-isolation/scrolling/resources/overflow-scroll-iframe.html
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac-wk2/TestExpectations
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateTree.cpp
M Source/WebCore/page/scrolling/ScrollingStateTree.h
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp
M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h
M Source/WebCore/page/scrolling/ScrollingTreeNode.h
M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.h
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm

  Log Message:
  ---
  [Site Isolation] Connect scrolling trees from main process and iframe process
https://bugs.webkit.org/show_bug.cgi?id=268591
rdar://122145583

Reviewed by Simon Fraser.

This is part 2 of splitting up https://github.com/WebKit/WebKit/pull/23242
This connects the scrolling node marked with the hosting id with the root
of a transaction marked with the same id. Since the scrolling state tree
only includes state changes, we need to keep track of all state trees committed
with a host id if we haven't received a commit with the corresponding host id
in the tree.

* 
LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree-expected.txt:
 Added.
* LayoutTests/http/tests/site-isolation/scrolling/basic-scrolling-tree.html: 
Added.
* LayoutTests/http/tests/site-isolation/scrolling/resources/empty-iframe.html: 
Added.
* 
LayoutTests/http/tests/site-isolation/scrolling/resources/overflow-scroll-iframe.html:
 Added.
* 
LayoutTests/http/tests/site-isolation/scrolling/scrolling-tree-iframe-overflow-expected.txt:
 Added.
* 
LayoutTests/http/tests/site-isolation/scrolling/scrolling-tree-iframe-overflow.html:
 Added.
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::createNode):
* Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::mainFrameIdentifier const):
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::insertNode):
* Source/WebCore/page/scrolling/ScrollingStateTree.h:
(WebCore::ScrollingStateTree::frameIdentifier const):
(WebCore::ScrollingStateTree::setFrameIdentifier):
* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::removeNode):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::updateTreeFromStateNodeRecursive):
(WebCore::ScrollingTree::removeAllNodes):
(WebCore::ScrollingTree::addScrollingNodeToHostedSubtreeMap):
* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::isScrollingSynchronizedWithMainThread):
(WebCore::ScrollingTree::treeLock):
(WebCore::ScrollingTree::propagateSynchronousScrollingReasons):
(WebCore::ScrollingTree::WTF_REQUIRES_LOCK): Deleted.
(WebCore::ScrollingTree::WTF_RETURNS_LOCK): Deleted.
* Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp:
(WebCore::ScrollingTreeFrameHostingNode::setLayerHostingContextIdentifier):
(WebCore::ScrollingTreeFrameHostingNode::removeHostedChildren):
(WebCore::ScrollingTreeFrameHostingNode::willBeDestroyed):
(WebCore::ScrollingTreeFrameHostingNode::dumpProperties const):
* Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h:
(WebCore::ScrollingTreeFrameHostingNode::addHostedChild):

[webkit-changes] [WebKit/WebKit] 009a87: [Site Isolation] Make ScrollingNodeIDs process qua...

2024-02-15 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 009a87a71b03c799d190c76635e8eb92d4658e0f
  
https://github.com/WebKit/WebKit/commit/009a87a71b03c799d190c76635e8eb92d4658e0f
  Author: Nikolaos Mouchtaris 
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
M LayoutTests/resources/ui-helper.js
M Source/WebCore/Headers.cmake
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h
A Source/WebCore/page/scrolling/ScrollingNodeID.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateOverflowScrollProxyNode.h
M Source/WebCore/page/scrolling/ScrollingStateTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTreeGestureState.cpp
M Source/WebCore/page/scrolling/ScrollingTreeGestureState.h
M Source/WebCore/page/scrolling/ScrollingTreeOverflowScrollProxyNode.h
M Source/WebCore/page/scrolling/ThreadedScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm
M Source/WebCore/platform/ScrollTypes.h
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/platform/graphics/GraphicsLayer.h
M Source/WebCore/platform/graphics/ca/PlatformCALayer.h
M Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.h
M Source/WebCore/platform/graphics/nicosia/NicosiaCompositionLayer.h
M Source/WebCore/plugins/PluginViewBase.h
M Source/WebCore/rendering/LayerAncestorClippingStack.cpp
M Source/WebCore/rendering/LayerAncestorClippingStack.h
M Source/WebCore/rendering/RenderEmbeddedObject.cpp
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebCore/rendering/RenderLayerBacking.h
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Shared/FocusedElementInformation.h
M Source/WebKit/Shared/FocusedElementInformation.serialization.in
M Source/WebKit/Shared/ProcessQualified.serialization.in
M Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingUIState.h
M Source/WebKit/Shared/WTFArgumentCoders.serialization.in
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/Shared/ios/InteractionInformationAtPosition.h
M Source/WebKit/Shared/ios/InteractionInformationAtPosition.serialization.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingTree.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h
M Source/WebKit/WebProcess/Plugins/PluginView.cpp
M Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M 

[webkit-changes] [WebKit/WebKit] 385c72: [Site Isolation] Mark scrolling tree nodes that ar...

2024-02-05 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 385c72e3a6462abfbbdbee6b77a344a663ffd74d
  
https://github.com/WebKit/WebKit/commit/385c72e3a6462abfbbdbee6b77a344a663ffd74d
  Author: Nikolaos Mouchtaris 
  Date:   2024-02-05 (Mon, 05 Feb 2024)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateFrameHostingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateFrameHostingNode.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.cpp
M Source/WebCore/page/scrolling/ScrollingTreeFrameHostingNode.h
M Source/WebCore/rendering/RenderLayerCompositor.cpp
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.serialization.in
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [Site Isolation] Mark scrolling tree nodes that are parents of a RemoteFrame
https://bugs.webkit.org/show_bug.cgi?id=268518
rdar://122054689

Reviewed by Simon Fraser.

This is part 1 of splitting up https://github.com/WebKit/WebKit/pull/23242. The
purpose of this patch is to mark scrolling tree nodes that have an associated
RemoteFrame, currently using the LayerHostingContextIdentifier. This will later
be used to connect the scrolling tree from the iframe process in the ui process.

* Source/WebCore/page/FrameView.h:
* Source/WebCore/page/RemoteFrame.cpp:
(WebCore::RemoteFrame::didFinishLoadInAnotherProcess):
* Source/WebCore/page/RemoteFrame.h:
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setLayerHostingContextIdentifier):
(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode const):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::isSiteIsolatedTree):
(WebCore::ScrollingCoordinator::setLayerHostingContextIdentifier):
* Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
* Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingStateNode.cpp:
(WebCore::operator<<):
(WebCore::ScrollingStateNode::setLayer):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
(WebCore::LayerRepresentation::operator PlatformLayer* const):
(WebCore::LayerRepresentation::toRepresentation const):
(WebCore::LayerRepresentation::representation const):
* Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
(WebCore::ScrollingStateOverflowScrollingNode::ScrollingStateOverflowScrollingNode):
* Source/WebCore/page/scrolling/ScrollingStateOverflowScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.cpp:
(WebCore::ScrollingStatePluginScrollingNode::ScrollingStatePluginScrollingNode):
* Source/WebCore/page/scrolling/ScrollingStatePluginScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setLayerHostingContextIdentifier):
(WebCore::ScrollingStateScrollingNode::dumpProperties const):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::layerHostingContextIdentifier const):
* Source/WebCore/page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::createUnparentedNode):
(WebCore::ScrollingStateTree::insertNode):
* Source/WebCore/page/scrolling/ScrollingStateTree.h:
* Source/WebCore/page/scrolling/ScrollingTree.h:
* Source/WebCore/page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::removeAllChildren):
* Source/WebCore/page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::setIsHostedSubtree):
(WebCore::ScrollingTreeNode::isHostedSubtree const):
(WebCore::ScrollingTreeNode::layerHostingContextIdentifier):
(WebCore::ScrollingTreeNode::setlayerHostingContextIdentifier):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::dumpProperties const):
* Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm:
(scrollingNodeIDForLayer):
(ScrollingTreeMac::scrollingNodeForPoint):

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


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


[webkit-changes] [WebKit/WebKit] b940c0: [scroll-anchoring] Scroll anchoring and Shadow DOM...

2024-01-19 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b940c0441af5d96ddd5bb8b5ac87217f7087a5ca
  
https://github.com/WebKit/WebKit/commit/b940c0441af5d96ddd5bb8b5ac87217f7087a5ca
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-19 (Fri, 19 Jan 2024)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Scroll anchoring and Shadow DOM result in weird scrolling 
behavior
https://bugs.webkit.org/show_bug.cgi?id=267733
rdar://121165484

Reviewed by Tim Nguyen.

After https://commits.webkit.org/272277@main we descend subscrollers that are 
not maintaining a
scroll anchor. In the logic added to 
ScrollAnchoringController::invalidateAnchorElement we
look to see if the current scroller is in a scroll anchoring chain, if it is 
not currently
maintaining an anchor element. When the owning scroller is in the shadow dom, 
the element walk would
not include it, so it wouldn't notify the parent scroller to invalidate its 
anchor element. To fix this,
do the parent walk via parentElementInComposedTree to include the elements in 
the shadow dom.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/shadow-dom-subscroller.html:
 Added.
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::isInScrollAnchoringAncestorChain):

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


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


[webkit-changes] [WebKit/WebKit] 04761d: Disable Scroll Anchoring

2024-01-19 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 04761dccf59258134cc7bfee76e32e90942e1505
  
https://github.com/WebKit/WebKit/commit/04761dccf59258134cc7bfee76e32e90942e1505
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-19 (Fri, 19 Jan 2024)

  Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml

  Log Message:
  ---
  Disable Scroll Anchoring
https://bugs.webkit.org/show_bug.cgi?id=267773
rdar://121236706

Reviewed by Aditya Keerthi.

Disable Scroll Anchoring.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:

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


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


[webkit-changes] [WebKit/WebKit] 830a3f: [scroll-anchoring] cbssports.com: Video playing an...

2024-01-17 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 830a3fbfc285ee62ade6802295dbf81f3f7962c2
  
https://github.com/WebKit/WebKit/commit/830a3fbfc285ee62ade6802295dbf81f3f7962c2
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] cbssports.com: Video playing and webpage elements 
flickering when scrolling
https://bugs.webkit.org/show_bug.cgi?id=267644
rdar://119959431

Reviewed by Wenson Hsieh.

On cbssports.com there is an undesired scroll anchoring adjustment when the 
user scrolls to dismiss
the video, which cancels the user scroll and brings back up the video. Ideally, 
we would understand
why this adjustment is occuring, but for now we should disable anchor 
adjustments during user scroll
(like we do on iOS) to prevent them from interfering with user gestures.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):

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


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


[webkit-changes] [WebKit/WebKit] c564c2: [scroll-anchoring] Have release log use RELEASE_LOG

2024-01-12 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c564c286d65cbff048964b33a7eb16d580f9aae0
  
https://github.com/WebKit/WebKit/commit/c564c286d65cbff048964b33a7eb16d580f9aae0
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Have release log use RELEASE_LOG
https://bugs.webkit.org/show_bug.cgi?id=267469
rdar://120920864

Reviewed by Simon Fraser.

Use the RELEASE_LOG macro for release logging scroll anchoring adjustments.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):

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


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


[webkit-changes] [WebKit/WebKit] 235f33: [scroll-anchoring] Add release logging for scroll ...

2024-01-12 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 235f339872989d753b256400e7fee7aec110a163
  
https://github.com/WebKit/WebKit/commit/235f339872989d753b256400e7fee7aec110a163
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-12 (Fri, 12 Jan 2024)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Add release logging for scroll anchoring adjustments
https://bugs.webkit.org/show_bug.cgi?id=267379
rdar://120812771

Reviewed by Wenson Hsieh.

Add release logs for scroll anchoring adjusmtents for easier diagnosing of 
scroll
anchoring bugs.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):

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


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


[webkit-changes] [WebKit/WebKit] 28b924: [scroll-anchoring] Have invalidateAnchorElement us...

2024-01-11 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 28b9240cb45cce62f8a6e492fd654a086ee48aef
  
https://github.com/WebKit/WebKit/commit/28b9240cb45cce62f8a6e492fd654a086ee48aef
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-11 (Thu, 11 Jan 2024)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Have invalidateAnchorElement use 
dequeueScrollableAreaForScrollAnchoringUpdate
https://bugs.webkit.org/show_bug.cgi?id=267385
rdar://120817486

Reviewed by Wenson Hsieh.

Have ScrollAnchoringController::invalidateAnchorElement use
dequeueScrollableAreaForScrollAnchoringUpdate rather than
queueScrollableAreaForScrollAnchoringUpdate. This was a benign issue due to
the m_isQueuedForScrollPositionUpdate flag but we don't want to have scrollable
areas in the set that don't require updates.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::invalidateAnchorElement):

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


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


[webkit-changes] [WebKit/WebKit] 50c9dc: [scroll-anchoring] Keyboard scrolling into a rubbe...

2024-01-04 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 50c9dcae73447ac8e649a07dd246b227fc3dfd65
  
https://github.com/WebKit/WebKit/commit/50c9dcae73447ac8e649a07dd246b227fc3dfd65
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-04 (Thu, 04 Jan 2024)

  Changed paths:
M LayoutTests/TestExpectations
A LayoutTests/fast/scrolling/mac/keyboard-rubberband-expected.txt
A LayoutTests/fast/scrolling/mac/keyboard-rubberband.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction-expected.txt
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/platform/ScrollAnimator.cpp

  Log Message:
  ---
  [scroll-anchoring] Keyboard scrolling into a rubberband leaves the page stuck 
at a bad scroll offset
https://bugs.webkit.org/show_bug.cgi?id=267061
rdar://120053910

Reviewed by Simon Fraser.

After https://commits.webkit.org/271957@main we disabled scroll anchoring 
adjustments while
m_owningScrollableArea.isRubberBandInProgress() is true. However, this is not 
true during a
keyboard scroll. A better solution to this is to invalidate the scroll 
anchoring element in
ScrollAnimator::setCurrentPosition itself. Normally scroll position changes 
here would be sent
down into the scrollable area via setScrollPositionFromAnimation, however while 
rubberbanding
notify is NotifyScrollableArea::No, so we don't propagate the scroll position 
change to the
scrollable area. Now that we properly notfiy the scroll anchoring controller of 
the scroll
position change while rubberbanding, we can remove the old solution.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/platform/ScrollAnimator.cpp:
(WebCore::notifyScrollAnchoringControllerOfScroll):
(WebCore::ScrollAnimator::setCurrentPosition):

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


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


[webkit-changes] [WebKit/WebKit] bb9af3: [scroll-anchoring] Weird scrolling effect when scr...

2024-01-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb9af3d426703c0dab09e5de39fe435eb6876f7f
  
https://github.com/WebKit/WebKit/commit/bb9af3d426703c0dab09e5de39fe435eb6876f7f
  Author: Nikolaos Mouchtaris 
  Date:   2024-01-03 (Wed, 03 Jan 2024)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor-expected.txt
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h

  Log Message:
  ---
  [scroll-anchoring] Weird scrolling effect when scrolling YouTube transcript 
panel
https://bugs.webkit.org/show_bug.cgi?id=267005
rdar://120378263

Reviewed by Simon Fraser.

After https://commits.webkit.org/272277@main we descend subscrollers that are 
not maintaining a
scroll anchor. We need to replicate the logic used in 
ScrollAnchoringController::examineAnchorCandidate
for ScrollAnchoringController::didFindPriorityCandidate, to ensure we don't end 
up choosing an anchor
element that is a descendant of a scrollable area that is maintaining a scroll 
anchor.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-nested-anchor.html:
 Added.
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::scrollAnchoringControllerForElement):
(WebCore::ScrollAnchoringController::didFindPriorityCandidate):
(WebCore::canDescendIntoElement):
(WebCore::ScrollAnchoringController::isExcludedSubtree):
(WebCore::ScrollAnchoringController::examineAnchorCandidate):
(WebCore::ScrollAnchoringController::chooseAnchorElement):
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/page/scrolling/ScrollAnchoringController.h:

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


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


[webkit-changes] [WebKit/WebKit] 17faf7: [scroll-anchoring] Reenable scroll anchoring on mo...

2023-12-20 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 17faf7b3085ae41935c20671d774a69f088b8262
  
https://github.com/WebKit/WebKit/commit/17faf7b3085ae41935c20671d774a69f088b8262
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
M LayoutTests/accessibility/scroll-to-global-point-iframe-nested.html
M LayoutTests/accessibility/scroll-to-global-point-nested.html
M LayoutTests/accessibility/visible-character-range-width-changes.html
M LayoutTests/css3/scroll-snap/ios/scroll-snap-mainframe-pinch-out.html
M LayoutTests/editing/execCommand/insert-line-break-no-scroll.html
M LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset.html
M LayoutTests/fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html
M LayoutTests/fast/events/no-scroll-on-input-text-selection.html
M LayoutTests/fast/scrolling/latching/latching-and-wheel-events.html
M LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching.html
M LayoutTests/fast/scrolling/mac/adjust-scroll-snap-during-gesture.html
M 
LayoutTests/fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html
M 
LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html
M LayoutTests/fast/visual-viewport/rtl-zoomed-rects.html
M LayoutTests/fullscreen/fullscreen-restore-scroll-position.html
M 
LayoutTests/scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html

  Log Message:
  ---
  [scroll-anchoring] Reenable scroll anchoring on more LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=266439
rdar://119688035

Reviewed by Tim Nguyen.

Reenable scroll anchoring on more LayoutTests.

* LayoutTests/fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html:
* LayoutTests/fast/events/no-scroll-on-input-text-selection.html:
* LayoutTests/fast/scrolling/latching/latching-and-wheel-events.html:
* LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching.html:
* LayoutTests/fast/scrolling/mac/adjust-scroll-snap-during-gesture.html:
* LayoutTests/fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html:
* LayoutTests/fast/scrolling/programmatic-document-rtl-scroll.html:
* 
LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html:
* LayoutTests/fast/visual-viewport/rtl-zoomed-rects.html:

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


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


[webkit-changes] [WebKit/WebKit] e8b2c8: [scroll-anchoring] Reenable scroll anchoring on so...

2023-12-19 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e8b2c8b9f620462989dfe351e10612df92eb43a2
  
https://github.com/WebKit/WebKit/commit/e8b2c8b9f620462989dfe351e10612df92eb43a2
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
M LayoutTests/fast/dom/Element/body-scrollLeft-basics-quirks.html
M LayoutTests/fast/dom/Element/body-scrollTop-basics-quirks.html
M LayoutTests/fast/dom/Window/window-scroll-arguments.html
M LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change.html
M LayoutTests/fast/dom/vertical-scrollbar-when-dir-change.html
M LayoutTests/fast/repaint/absolute-position-changed.html
M LayoutTests/fast/scrolling/ios/adjust-scroll-snap-during-gesture.html
M 
LayoutTests/fast/scrolling/ios/click-events-during-momentum-scroll-in-main-frame.html
M LayoutTests/fast/scrolling/ios/key-command-scroll-to-bottom.html
M LayoutTests/fast/scrolling/ios/key-command-scroll-to-top.html
M 
LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-002.html
M 
LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-003.html
M 
LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html
M LayoutTests/fast/scrolling/ios/scroll-iframe-001.html
M LayoutTests/fast/scrolling/ios/scroll-iframe-002.html
M LayoutTests/fast/scrolling/ios/scroll-iframe-003.html
M 
LayoutTests/fast/scrolling/ios/scroll-to-beginning-and-end-of-document.html
M LayoutTests/jquery/offset.html

  Log Message:
  ---
  [scroll-anchoring] Reenable scroll anchoring on some LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=262712
rdar://116533047

Reviewed by Tim Nguyen and Simon Fraser.

Reenable scroll anchoring on some LayoutTests.

* LayoutTests/fast/dom/Element/body-scrollLeft-basics-quirks.html:
* LayoutTests/fast/dom/Element/body-scrollTop-basics-quirks.html:
* LayoutTests/fast/dom/Window/window-scroll-arguments.html:
* LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change.html:
* LayoutTests/fast/dom/vertical-scrollbar-when-dir-change.html:

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


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


[webkit-changes] [WebKit/WebKit] 07319b: [scroll-anchoring] findAnchorElementRecursive shou...

2023-12-19 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 07319b820ce70ac6e01093ed0c356c2e1b0eb25d
  
https://github.com/WebKit/WebKit/commit/07319b820ce70ac6e01093ed0c356c2e1b0eb25d
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-19 (Tue, 19 Dec 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/rendering/RenderObject.cpp

  Log Message:
  ---
  [scroll-anchoring] findAnchorElementRecursive should descend into 
subscrollers if its not maintaining a scroll anchor
https://bugs.webkit.org/show_bug.cgi?id=262557
rdar://116411088

Reviewed by Simon Fraser.

We should only disallow descending into subscrollers if the subscroller is 
currently
maintaining a scroll anchor.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt:
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::elementForScrollableArea):
(WebCore::ScrollAnchoringController::invalidateAnchorElement):
(WebCore::canDescendIntoElement):
(WebCore::ScrollAnchoringController::examineCandidate):
* Source/WebCore/rendering/RenderObject.cpp:
(WebCore::RenderObject::findScrollAnchoringControllerForRenderer):

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


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


[webkit-changes] [WebKit/WebKit] fdbd1e: Refactor Scrollbar to hold NSScrollerImp

2023-12-14 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fdbd1e818def7f92e7c7e410229619c18d419d08
  
https://github.com/WebKit/WebKit/commit/fdbd1e818def7f92e7c7e410229619c18d419d08
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-14 (Thu, 14 Dec 2023)

  Changed paths:
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm
M Source/WebCore/platform/Scrollbar.cpp
M Source/WebCore/platform/Scrollbar.h
M Source/WebCore/platform/ScrollbarTheme.h
A Source/WebCore/platform/mac/ScrollbarMac.h
A Source/WebCore/platform/mac/ScrollbarMac.mm
M Source/WebCore/platform/mac/ScrollbarThemeMac.h
M Source/WebCore/platform/mac/ScrollbarThemeMac.mm
M Source/WebCore/platform/mac/ScrollbarsControllerMac.mm

  Log Message:
  ---
  Refactor Scrollbar to hold NSScrollerImp
https://bugs.webkit.org/show_bug.cgi?id=264014
rdar://117770817

Reviewed by Simon Fraser.

Decouple creation of NSScrollerImps from the global map in
ScrollbarThemeMac. Instead, create ScrollbarMac to hold a reference to the
NSScrollerImp, and change the map to a set of scrollbars (which is still
necessary due to the WebScrollbarPrefsObserver stuff).

* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::createNativeScrollbar):
* Source/WebCore/platform/mac/ScrollbarMac.h: Added.
(WebCore::ScrollbarMac::~ScrollbarMac):
* Source/WebCore/platform/mac/ScrollbarMac.mm: Added.
(WebCore::ScrollbarMac::ScrollbarMac):
(WebCore::ScrollbarMac::painterForScrollbar):
(WebCore::ScrollbarMac::createNSScrollerImp):
(WebCore::macScrollbarTheme):
(WebCore::ScrollbarMac::updateNSScrollerImpState):
(WebCore::ScrollbarMac::setNewPainterForScrollbar):
* Source/WebCore/platform/mac/ScrollbarThemeMac.h:
* Source/WebCore/platform/mac/ScrollbarThemeMac.mm:
(WebCore::scrollbarMap):
(+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::unregisterScrollbar):
(WebCore::ScrollbarThemeMac::painterForScrollbar):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::paintScrollbar):
(WebCore::ScrollbarThemeMac::setNewPainterForScrollbar): Deleted.
* Source/WebCore/platform/mac/ScrollbarsControllerMac.mm:
(WebCore::ScrollbarsControllerMac::updateScrollerStyle):

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


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


[webkit-changes] [WebKit/WebKit] 7d680c: [scroll-anchoring] YouTube.com jittering in commen...

2023-12-13 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7d680c19811737d2f07264bb02add5a612aca841
  
https://github.com/WebKit/WebKit/commit/7d680c19811737d2f07264bb02add5a612aca841
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree-expected.txt
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] YouTube.com jittering in comments and Channel pages
https://bugs.webkit.org/show_bug.cgi?id=266303
rdar://problem/119568843

Reviewed by Simon Fraser.

We should check if a priority candidate is part of an excluded subtree before
selecting it as our anchor node.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-in-excluded-subtree.html:
 Added.
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::didFindPriorityCandidate):

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


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


[webkit-changes] [WebKit/WebKit] f09dea: When CSS scroll anchoring is enabled, pages don't ...

2023-12-12 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f09deaf60f21c91bc351a654f2777be4aebeee80
  
https://github.com/WebKit/WebKit/commit/f09deaf60f21c91bc351a654f2777be4aebeee80
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-12 (Tue, 12 Dec 2023)

  Changed paths:
M LayoutTests/scrollingcoordinator/mac/latching/main-frame-back-swipe.html
M LayoutTests/scrollingcoordinator/mac/latching/simple-page-rubberbands.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  When CSS scroll anchoring is enabled, pages don't rubberband
https://bugs.webkit.org/show_bug.cgi?id=266290
rdar://119527058

Reviewed by Simon Fraser.

Disable scroll anchoring adjustments while user is rubberbanding.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):

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


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


[webkit-changes] [WebKit/WebKit] b19a8e: Enable scroll anchoring by default

2023-12-08 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b19a8ecd83e6c20215a86dc28725fc62fd9ca976
  
https://github.com/WebKit/WebKit/commit/b19a8ecd83e6c20215a86dc28725fc62fd9ca976
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-08 (Fri, 08 Dec 2023)

  Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/page/LocalFrameView.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

  Log Message:
  ---
  Enable scroll anchoring by default
https://bugs.webkit.org/show_bug.cgi?id=264784
rdar://118365809

Reviewed by Aditya Keerthi.

Re-enable scroll anchoring after rdar://119203528 is resolved.
Remove check in checkSettingsControlledByLockdownMode
for scroll-anchoring being turned off now that it is a stable feature.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::LocalFrameView):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

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


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


[webkit-changes] [WebKit/WebKit] 1c6a14: [scroll-anchoring] Add extra checks to viablePrior...

2023-12-08 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1c6a14248561e2b8b643d85f75968d761940008f
  
https://github.com/WebKit/WebKit/commit/1c6a14248561e2b8b643d85f75968d761940008f
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-08 (Fri, 08 Dec 2023)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller-expected.txt
A 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h

  Log Message:
  ---
  [scroll-anchoring] Add extra checks to viablePriorityCandidateForElement to 
ensure a sensible priority candidate
https://bugs.webkit.org/show_bug.cgi?id=266096
rdar://119203528

Reviewed by Simon Fraser.

Add checks to ensure that the priority candidate is a descendant of the current 
scroller and that it
is not an excluded subtree.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller-expected.txt:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/focused-element-outside-scroller.html:
 Added.
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::didFindPriorityCandidate):

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


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


[webkit-changes] [WebKit/WebKit] bdce1d: [scroll-anchoring] A scroll anchoring adjustment d...

2023-12-04 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bdce1d6d1b68d8c04c45c4128a257a5778f6fcbd
  
https://github.com/WebKit/WebKit/commit/bdce1d6d1b68d8c04c45c4128a257a5778f6fcbd
  Author: Nikolaos Mouchtaris 
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
A 
LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll-expected.txt
A LayoutTests/fast/scrolling/ios/scroll-anchoring-momentum-scroll.html
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] A scroll anchoring adjustment during a momentum scroll 
stops the scroll
https://bugs.webkit.org/show_bug.cgi?id=264898
rdar://118476758

Reviewed by Simon Fraser.

On iOS, _scrollToContentScrollPosition calls [_scrollView 
_wk_stopScrollingAndZooming], which
means when we issue a programmatic scroll, it would stop a current user scroll 
(rdar://115703492).
For scroll anchoring, this isn't great as a scroll anchoring adjustment could 
kill a user scroll.
To mitigate this, ignore scroll anchoring adjustments on scrollable areas that 
have an ongoing
user scroll. Ideally, we would add the delta to the ongoing momentum scroll to 
compensate for layout
changes during user scrolls, which requires a fix for rdar://115703492.

* LayoutTests/resources/js-test.js:
(getOrCreate):
(description):
(debug):
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/platform/mac/ScrollingEffectsController.mm:
(WebCore::ScrollingEffectsController::handleWheelEvent):

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


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


[webkit-changes] [WebKit/WebKit] 8c6707: Enable scroll anchoring by default

2023-11-29 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8c670735053d3a5636919817a5c33ace607fb097
  
https://github.com/WebKit/WebKit/commit/8c670735053d3a5636919817a5c33ace607fb097
  Author: Nikolaos Mouchtaris 
  Date:   2023-11-29 (Wed, 29 Nov 2023)

  Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/page/LocalFrameView.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

  Log Message:
  ---
  Enable scroll anchoring by default
https://bugs.webkit.org/show_bug.cgi?id=264784
rdar://118365809

Reviewed by Simon Fraser.

Enable scroll anchoring by default. Remove check in 
checkSettingsControlledByLockdownMode
for scroll-anchoring being turned off now that it is a stable feature.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:

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


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


[webkit-changes] [WebKit/WebKit] cf327c: [scroll-anchoring] Exclude isolated subtrees

2023-11-15 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cf327c0480206b1724eba8ddf418bafadf7aa5c6
  
https://github.com/WebKit/WebKit/commit/cf327c0480206b1724eba8ddf418bafadf7aa5c6
  Author: Nikolaos Mouchtaris 
  Date:   2023-11-15 (Wed, 15 Nov 2023)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Exclude isolated subtrees
https://bugs.webkit.org/show_bug.cgi?id=262335
rdar://116205746

Reviewed by Simon Fraser.

We should exclude subtrees that are marked as contain: paint and are
offscreen, as any descendents would be clipped to the parent. This doesn't
quite fix contain-paint-offscreen-container.html but we do select the correct
anchor element after this change.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::examineCandidate):

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


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


[webkit-changes] [WebKit/WebKit] c3a46a: [scroll-anchoring] Exclude absolutely positioned e...

2023-11-10 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c3a46a009b283eb50ea3aac59bc0881a44620de1
  
https://github.com/WebKit/WebKit/commit/c3a46a009b283eb50ea3aac59bc0881a44620de1
  Author: Nikolaos Mouchtaris 
  Date:   2023-11-10 (Fri, 10 Nov 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/abspos-containing-block-outside-scroller-expected.txt
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Exclude absolutely positioned elements with containing 
blocks outside the parent scroller
https://bugs.webkit.org/show_bug.cgi?id=262329
rdar://116201738

Reviewed by Simon Fraser.

Exclude absolutely positioned elements with containing blocks outside the 
parent scroller.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/abspos-containing-block-outside-scroller-expected.txt:
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::absolutePositionedElementOutsideScroller):
(WebCore::ScrollAnchoringController::computeOffset):
(WebCore::ScrollAnchoringController::examineCandidate):

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


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


[webkit-changes] [WebKit/WebKit] fd9841: [scroll-anchoring] Contract owning scroller rect f...

2023-11-09 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fd9841045cff01fad55cb6e8edd188eb595e14ea
  
https://github.com/WebKit/WebKit/commit/fd9841045cff01fad55cb6e8edd188eb595e14ea
  Author: Nikolaos Mouchtaris 
  Date:   2023-11-09 (Thu, 09 Nov 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/scroll-padding-affects-anchoring-expected.txt
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  [scroll-anchoring] Contract owning scroller rect for scroll padding
https://bugs.webkit.org/show_bug.cgi?id=262342
rdar://116209834

Reviewed by Simon Fraser.

Contract owning scroller rect for scroll padding.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/scroll-padding-affects-anchoring-expected.txt:
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::examineCandidate):

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


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


[webkit-changes] [WebKit/WebKit] b02b49: [scroll-anchoring] Implement suppression triggers

2023-11-09 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b02b493840f0ce869e34fcd65a027245d392bc91
  
https://github.com/WebKit/WebKit/commit/b02b493840f0ce869e34fcd65a027245d392bc91
  Author: Nikolaos Mouchtaris 
  Date:   2023-11-09 (Thu, 09 Nov 2023)

  Changed paths:
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/heuristic-with-offset-update-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-scroller-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h
M Source/WebCore/rendering/RenderElement.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.h
M Source/WebCore/rendering/RenderObject.cpp
M Source/WebCore/rendering/RenderObject.h
M Source/WebCore/rendering/style/RenderStyle.cpp
M Source/WebCore/rendering/style/RenderStyle.h

  Log Message:
  ---
  [scroll-anchoring] Implement suppression triggers
https://bugs.webkit.org/show_bug.cgi?id=261719
rdar://115704143

Reviewed by Simon Fraser.

Implement suppression of scroll anchoring adjustments according to the spec
(https://www.w3.org/TR/css-scroll-anchoring-1/#suppression-triggers). This 
involves suppressing scroll
 anchoring adjustments  when certain “suppression trigger” operations occur 
when an anchor element has
 been chosen but before a scroll anchoring adjustment has occurred, that would 
cause the next scroll
anchoring adjustment to be incorrect. These suppression triggers are certain 
style changes on the anchor
element or any element in the anchor element ancestor chain, up to and 
including the scrolling element
that owns the scroll anchroing controller, as well as changing to or from being 
absolutely posititioned,
for any element under the owning scrolling element.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/heuristic-with-offset-update-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-scroller-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt:
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::scheduleResizeEventIfNeeded):
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::elementIsScrollableArea):
(WebCore::setInScrollAnchoringAncestorChain):
(WebCore::ScrollAnchoringController::invalidateAnchorElement):
(WebCore::ScrollAnchoringController::notifyChildHadSuppressingStyleChange):
(WebCore::scrollAnchoringControllerForElement):
(WebCore::ScrollAnchoringController::notifyParentScrollAnchoringControllerHadSuppressingStyleChange):
(WebCore::ScrollAnchoringController::didFindPriorityCandidate):
(WebCore::ScrollAnchoringController::chooseAnchorElement):
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/page/scrolling/ScrollAnchoringController.h:
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::styleDidChange):
* Source/WebCore/rendering/RenderObject.h:
(WebCore::RenderObject::isInScrollAnchoringAncestorChain const):
(WebCore::RenderObject::setIsInScrollAnchoringAncestorChain):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::scrollAnchoringSuppressionStyleDidChange const):
(WebCore::RenderStyle::absolutePositionStyleDidChange const):
* Source/WebCore/rendering/style/RenderStyle.h:

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


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


[webkit-changes] [WebKit/WebKit] 9320b5: (REGRESSION (265731@main): fast/scrolling/rtl-scro...

2023-10-16 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9320b50206384e7b857c586879952789b6d16aaf
  
https://github.com/WebKit/WebKit/commit/9320b50206384e7b857c586879952789b6d16aaf
  Author: Nikolaos Mouchtaris 
  Date:   2023-10-16 (Mon, 16 Oct 2023)

  Changed paths:
M Source/WebCore/platform/mac/ScrollbarThemeMac.mm

  Log Message:
  ---
  (REGRESSION (265731@main): 
fast/scrolling/rtl-scrollbars-animation-property.html is a constant failure)
https://bugs.webkit.org/show_bug.cgi?id=262930
rdar://114349934

Reviewed by Cameron McCormack.

After https://commits.webkit.org/265731@main 
ScrollbarThemeMac::isLayoutDirectionRTL did not have an
NSScrollerImp to query about being in rtl mode. AppKit only uses 
userInterfaceLayoutDirection for
rectForPart/expandedRectForPart, which are not used with UI-side compositing, 
so for now if we detect
that the scrollbar should not be registered (due to UI-side compositing being 
on), just query the scrollable
area to see if the scrollbar is in rtl mode.

* Source/WebCore/platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::isLayoutDirectionRTL):

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


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


[webkit-changes] [WebKit/WebKit] 84c71b: REGRESSION(268267@main): [ macOS wk2 ] fast/scroll...

2023-10-10 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 84c71becf5f2f11f985c56a81b5a70172c2a5c32
  
https://github.com/WebKit/WebKit/commit/84c71becf5f2f11f985c56a81b5a70172c2a5c32
  Author: Nikolaos Mouchtaris 
  Date:   2023-10-10 (Tue, 10 Oct 2023)

  Changed paths:
M 
LayoutTests/fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html
M LayoutTests/platform/mac-wk2/TestExpectations

  Log Message:
  ---
  REGRESSION(268267@main): [ macOS wk2 ] 
fast/scrolling/mac/programmatic-scroll-overrides-rubberband.html is 
consistently timing out.
https://bugs.webkit.org/show_bug.cgi?id=261922
rdar://115869106

Unreviewed test fix.

Turn of scroll anchoring for this test.

* LayoutTests/platform/mac-wk2/TestExpectations:

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


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


[webkit-changes] [WebKit/WebKit] a88660: [scroll-anchoring] Implement scroll anchoring for ...

2023-10-04 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a8866055e887ac67d0c7d1ac4a92935469455e8d
  
https://github.com/WebKit/WebKit/commit/a8866055e887ac67d0c7d1ac4a92935469455e8d
  Author: Nikolaos Mouchtaris 
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/accessibility/scroll-to-global-point-iframe-nested.html
M LayoutTests/accessibility/scroll-to-global-point-nested.html
M LayoutTests/fast/scrolling/ios/adjust-scroll-snap-during-gesture.html
M 
LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-002.html
M 
LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-003.html
M 
LayoutTests/fast/scrolling/ios/mixing-user-and-programmatic-scroll-006.html
M LayoutTests/fast/scrolling/ios/scroll-iframe-001.html
M LayoutTests/fast/scrolling/ios/scroll-iframe-002.html
M LayoutTests/fast/scrolling/ios/scroll-iframe-003.html
M LayoutTests/fast/scrolling/mac/adjust-scroll-snap-during-gesture.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/anchor-updates-after-explicit-scroll-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/heuristic-with-offset-update-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/multicol-fragmented-anchor-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/opt-out-dynamic-scroller-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt
M 
LayoutTests/scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html
M Source/WebCore/dom/Document.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h
M Source/WebCore/platform/ScrollableArea.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.h

  Log Message:
  ---
  [scroll-anchoring] Implement scroll anchoring for subscrollers
https://bugs.webkit.org/show_bug.cgi?id=261775
rdar://115746157

Reviewed by Simon Fraser.

Implement scroll anchoring for subscrollers.

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::runScrollSteps):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::LocalFrameView):
(WebCore::LocalFrameView::scrollPositionChanged):
(WebCore::LocalFrameView::updateScrollAnchoringElementsForScrollableAreas):
(WebCore::LocalFrameView::invalidateScrollAnchoringElement): Deleted.
(WebCore::LocalFrameView::updateScrollAnchoringElement): Deleted.
(WebCore::LocalFrameView::updateScrollPositionForScrollAnchoringController): 
Deleted.
* Source/WebCore/page/LocalFrameView.h:
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::ScrollAnchoringController):
(WebCore::ScrollAnchoringController::invalidateAnchorElement):
(WebCore::ScrollAnchoringController::updateAnchorElement):
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/page/scrolling/ScrollAnchoringController.h:
* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::setScrollAnchoringController):
(WebCore::ScrollableArea::scrollAnchoringController):
(WebCore::ScrollableArea::scrollPositionChanged):
(WebCore::ScrollableArea::updateScrollAnchoringElement):
(WebCore::ScrollableArea::updateScrollPositionForScrollAnchoringController):
(WebCore::ScrollableArea::invalidateScrollAnchoringElement):
* Source/WebCore/platform/ScrollableArea.h:
(WebCore::ScrollableArea::updateScrollAnchoringElement): Deleted.
(WebCore::ScrollableArea::updateScrollPositionForScrollAnchoringController): 
Deleted.
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::RenderLayerScrollableArea):

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


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


[webkit-changes] [WebKit/WebKit] eddbc5: [motion-path] circle() and ellipse() should use no...

2023-09-25 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eddbc5df03c84c7da6b202923cad6ae71ecc1b0e
  
https://github.com/WebKit/WebKit/commit/eddbc5df03c84c7da6b202923cad6ae71ecc1b0e
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-25 (Mon, 25 Sep 2023)

  Changed paths:
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007.html
M Source/WebCore/rendering/MotionPath.cpp

  Log Message:
  ---
  [motion-path] circle() and ellipse() should use non-offset starting position
https://bugs.webkit.org/show_bug.cgi?id=262014
rdar://115962433

Reviewed by Tim Nguyen.

circle() and ellipse() should use non-offset starting position. We don't want 
to use the offset starting
position as this would make the calculation of the radius size incorrect for 
circle/ellipse. The one wpt
for circle()/ellipse() do not actually test this properly (they use a 0,0 
starting position).

* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-008.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-007.html:
 Added.
* Source/WebCore/rendering/MotionPath.cpp:
(WebCore::MotionPath::computePathForShape):

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


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


[webkit-changes] [WebKit/WebKit] 0cd807: [scroll-anchoring] Implement anchor node selection...

2023-09-22 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0cd807347378c72b30ee428774daeaf2b04cff07
  
https://github.com/WebKit/WebKit/commit/0cd807347378c72b30ee428774daeaf2b04cff07
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-22 (Fri, 22 Sep 2023)

  Changed paths:
M LayoutTests/fast/repaint/absolute-position-changed.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-sticky-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-ib-split-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion-expected.txt
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h
M Source/WebCore/platform/Logging.h

  Log Message:
  ---
  [scroll-anchoring] Implement anchor node selection algorithm
https://bugs.webkit.org/show_bug.cgi?id=261628
rdar://115583079

Reviewed by Simon Fraser.

Implement anchor node selection algorithm outlined in the spec.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-float-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-fixed-position-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/exclude-sticky-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-ib-split-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion-expected.txt:
* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::anchorElementForPriorityCandidate):
(WebCore::elementIsScrollableArea):
(WebCore::ScrollAnchoringController::examinePriorityCandidate):
(WebCore::ScrollAnchoringController::findPriorityCandidate):
(WebCore::ScrollAnchoringController::examineCandidate):
(WebCore::operator<<):
(WebCore::ScrollAnchoringController::findAnchorElementRecursive):
(WebCore::ScrollAnchoringController::chooseAnchorElement):
(WebCore::ScrollAnchoringController::updateAnchorElement):
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):
* Source/WebCore/page/scrolling/ScrollAnchoringController.h:

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


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


[webkit-changes] [WebKit/WebKit] 15862c: Fix Win/PS debug builds after 268267@main

2023-09-21 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 15862cd768aa5327a686dd8c70ea7d02f188065d
  
https://github.com/WebKit/WebKit/commit/15862cd768aa5327a686dd8c70ea7d02f188065d
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-21 (Thu, 21 Sep 2023)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp

  Log Message:
  ---
  Fix Win/PS debug builds after 268267@main
https://bugs.webkit.org/show_bug.cgi?id=261931
rdar://115872691

Unreviewed build fix.

* Source/WebCore/page/scrolling/ScrollAnchoringController.cpp:
(WebCore::ScrollAnchoringController::adjustScrollPositionForAnchoring):

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


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


[webkit-changes] [WebKit/WebKit] 663964: Scroll anchoring: naive implementation of selectAn...

2023-09-21 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6639646de774d4333e28e4288a36c5627ac6388f
  
https://github.com/WebKit/WebKit/commit/6639646de774d4333e28e4288a36c5627ac6388f
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-21 (Thu, 21 Sep 2023)

  Changed paths:
M LayoutTests/accessibility/visible-character-range-width-changes.html
M LayoutTests/css3/scroll-snap/ios/scroll-snap-mainframe-pinch-out.html
M LayoutTests/editing/execCommand/insert-line-break-no-scroll.html
M LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset-2.html
M LayoutTests/editing/selection/ios/autoscroll-with-top-content-inset.html
M LayoutTests/fast/dom/Element/body-scrollLeft-basics-quirks.html
M LayoutTests/fast/dom/Element/body-scrollTop-basics-quirks.html
M LayoutTests/fast/dom/Window/window-scroll-arguments.html
M LayoutTests/fast/dom/horizontal-scrollbar-when-dir-change.html
M LayoutTests/fast/dom/vertical-scrollbar-in-rtl-doesnt-fire-onscroll.html
M LayoutTests/fast/dom/vertical-scrollbar-when-dir-change.html
M LayoutTests/fast/events/no-scroll-on-input-text-selection.html
M 
LayoutTests/fast/scrolling/ios/click-events-during-momentum-scroll-in-main-frame.html
M LayoutTests/fast/scrolling/ios/key-command-scroll-to-bottom.html
M LayoutTests/fast/scrolling/ios/key-command-scroll-to-top.html
M 
LayoutTests/fast/scrolling/ios/scroll-to-beginning-and-end-of-document.html
M LayoutTests/fast/scrolling/latching/latching-and-wheel-events.html
M LayoutTests/fast/scrolling/latching/overflow-in-iframe-latching.html
M LayoutTests/fast/scrolling/programmatic-document-rtl-scroll.html
M 
LayoutTests/fast/visual-viewport/client-coordinates-relative-to-layout-viewport.html
M LayoutTests/fast/visual-viewport/rtl-zoomed-rects.html
M LayoutTests/fullscreen/fullscreen-restore-scroll-position.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/abspos-contributes-to-static-parent-bounds-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/ancestor-change-heuristic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/anchoring-with-bounds-clamping-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/anonymous-block-box-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/basic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/descend-into-container-with-overflow-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/image-001-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/inline-block-002-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/inline-block-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/negative-layout-overflow-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-ib-split-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/position-change-heuristic-in-nested-scroll-box-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/start-edge-in-block-layout-direction-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/subtree-exclusion-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-scroll-anchoring/zero-scroll-offset-expected.txt
M LayoutTests/jquery/offset.html
M LayoutTests/platform/ios-wk2/TestExpectations
M LayoutTests/scrollingcoordinator/mac/latching/main-frame-back-swipe.html
M LayoutTests/scrollingcoordinator/mac/latching/simple-page-rubberbands.html
M Source/WebCore/dom/Document.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/ScrollAnchoringController.cpp
M Source/WebCore/page/scrolling/ScrollAnchoringController.h
M Source/WebCore/platform/ScrollableArea.h

  Log Message:
  ---
  Scroll anchoring: naive implementation of selectAnchorElement(), implement 
updateScrollPosition(), hookup to layout
https://bugs.webkit.org/show_bug.cgi?id=243702


Reviewed by Simon Fraser.

For selectAnchorElement(), select the deepest child element that is within the 
viewport bounds of the
frame view, or the first fully contined by the viewport bounds. For 
updateScrollPosition()
calculate the change in offset and set the scroll position of the frame view if 
necessary.
Finally, in FrameViewLayoutContext::performLayout(), 

[webkit-changes] [WebKit/WebKit] f6fd65: [motion-path] Have basic shapes use an offset cont...

2023-09-11 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f6fd650e3830ebe58caebefa3914dd243b19f0ae
  
https://github.com/WebKit/WebKit/commit/f6fd650e3830ebe58caebefa3914dd243b19f0ae
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-003.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-007-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-007-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-007.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-006-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-006-ref.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-006.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-inset-001.html
M Source/WebCore/rendering/MotionPath.cpp

  Log Message:
  ---
  [motion-path] Have basic shapes use an offset containing block rect
https://bugs.webkit.org/show_bug.cgi?id=261217
rdar://115068196

Reviewed by Tim Nguyen.

Update basic shapes to use an offset containing block rect in
MotionPath::computePathForShape.

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/MotionPath.cpp:
(WebCore::offsetRectForData):
(WebCore::MotionPath::computePathForBox):
(WebCore::MotionPath::computePathForShape):
* Source/WebCore/rendering/MotionPath.h:
* Source/WebCore/rendering/PathOperation.h:

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


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


[webkit-changes] [WebKit/WebKit] ff4be9: [motion-path] Implement offset-position support fo...

2023-09-08 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ff4be937a37273cf6ca0a491f28a902406dd78f4
  
https://github.com/WebKit/WebKit/commit/ff4be937a37273cf6ca0a491f28a902406dd78f4
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/css/BasicShapeFunctions.cpp
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/MotionPath.h
M Source/WebCore/rendering/PathOperation.h
M Source/WebCore/rendering/shapes/Shape.cpp
M Source/WebCore/rendering/style/BasicShapes.cpp
M Source/WebCore/rendering/style/BasicShapes.h

  Log Message:
  ---
  [motion-path] Implement offset-position support for circle() / ellipse()
https://bugs.webkit.org/show_bug.cgi?id=261178
rdar://114951375

Reviewed by Simon Fraser.

When the position is not specified for circle or ellipse, use offset-position
instead. Also update normalPositionForOffsetPath to have offset-position: normal
default to the center of the containing block rect for shape path operations.

* LayoutTests/TestExpectations:
* Source/WebCore/css/BasicShapeFunctions.cpp:
(WebCore::basicShapeForValue):
* Source/WebCore/rendering/MotionPath.cpp:
(WebCore::MotionPath::computePathForShape):
* Source/WebCore/rendering/MotionPath.h:
* Source/WebCore/rendering/PathOperation.h:
* Source/WebCore/rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):
* Source/WebCore/rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeCircle::floatValueForRadiusInBox const):
(WebCore::BasicShapeCircle::pathForCenterCoordinate const):
(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeEllipse::pathForCenterCoordinate const):
(WebCore::BasicShapeEllipse::path):
* Source/WebCore/rendering/style/BasicShapes.h:
(WebCore::BasicShapeHasCenterCoordinate::setPositionWasOmitted):
(WebCore::BasicShapeHasCenterCoordinate::positionWasOmitted const):

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


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


[webkit-changes] [WebKit/WebKit] 6dd9b4: [css-shapes] Implement xywh() shape

2023-09-08 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6dd9b4ce08d7fc1933952dfd57de080a21882127
  
https://github.com/WebKit/WebKit/commit/6dd9b4ce08d7fc1933952dfd57de080a21882127
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-08 (Fri, 08 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/clip-path-interpolation-xywh-rect-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-006-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt
M Source/WebCore/css/BasicShapeFunctions.cpp
M Source/WebCore/css/CSSBasicShapes.cpp
M Source/WebCore/css/CSSBasicShapes.h
M Source/WebCore/css/CSSValue.cpp
M Source/WebCore/css/CSSValue.h
M Source/WebCore/css/CSSValueKeywords.in
M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
M Source/WebCore/rendering/style/BasicShapes.cpp
M Source/WebCore/rendering/style/BasicShapes.h

  Log Message:
  ---
  [css-shapes] Implement xywh() shape
https://bugs.webkit.org/show_bug.cgi?id=259989
rdar://113643020

Reviewed by Tim Nguyen.

Implement parsing of xywh() shape and create xywh
subclass for BasicShape and CSSValue.

Translating to inset() for the computed style & animations is unimplemented.

Spec: https://drafts.csswg.org/css-shapes-1/#funcdef-basic-shape-xywh

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/clip-path-interpolation-xywh-rect-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-computed-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/clip-path-valid-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-006-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt:
* Source/WebCore/css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):
* Source/WebCore/css/CSSBasicShapes.cpp:
(WebCore::CSSXywhValue::CSSXywhValue):
(WebCore::CSSXywhValue::create):
(WebCore::CSSXywhValue::equals const):
(WebCore::updateCornerRadiusWidthAndHeight):
(WebCore::buildRadii):
(WebCore::buildXywhString):
(WebCore::CSSXywhValue::customCSSText const):
(WebCore::buildInsetString):
(WebCore::buildInsetRadii): Deleted.
* Source/WebCore/css/CSSBasicShapes.h:
(WebCore::CSSXywhValue::insetX const):
(WebCore::CSSXywhValue::insetY const):
(WebCore::CSSXywhValue::width const):
(WebCore::CSSXywhValue::height const):
(WebCore::CSSXywhValue::topLeftRadius const):
(WebCore::CSSXywhValue::topRightRadius const):
(WebCore::CSSXywhValue::bottomRightRadius const):
(WebCore::CSSXywhValue::bottomLeftRadius const):
* Source/WebCore/css/CSSValue.cpp:
(WebCore::CSSValue::visitDerived):
* Source/WebCore/css/CSSValue.h:
(WebCore::CSSValue::isXywhShape const):
* Source/WebCore/css/CSSValueKeywords.in:
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeShapeBorderRadius):
(WebCore::CSSPropertyParserHelpers::consumeBasicShapeXywh):
(WebCore::CSSPropertyParserHelpers::consumeBasicShapeInset):
(WebCore::CSSPropertyParserHelpers::consumeBasicShape):
* Source/WebCore/rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeXywh::create):
(WebCore::BasicShapeXywh::BasicShapeXywh):
(WebCore::BasicShapeXywh::clone const):
(WebCore::BasicShapeXywh::operator== const):
(WebCore::BasicShapeXywh::path):
(WebCore::BasicShapeXywh::canBlend const):
(WebCore::BasicShapeXywh::blend const):
(WebCore::BasicShapeXywh::dump const):
* Source/WebCore/rendering/style/BasicShapes.h:

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


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


[webkit-changes] [WebKit/WebKit] 958cc0: [motion-path] Implement offset-position: normal

2023-09-05 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 958cc075a8612fc45d07e95dbfe9bad0547e3cd2
  
https://github.com/WebKit/WebKit/commit/958cc075a8612fc45d07e95dbfe9bad0547e3cd2
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/inheritance-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-parsing-valid-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-position-computed-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-position-parsing-valid-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-shorthand-expected.txt
M Source/WebCore/animation/CSSPropertyAnimation.cpp
M Source/WebCore/css/CSSPrimitiveValue.cpp
M Source/WebCore/css/CSSProperties.json
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/calc/CSSCalcValue.cpp
M Source/WebCore/css/parser/CSSPropertyParser.cpp
M Source/WebCore/platform/Length.cpp
M Source/WebCore/platform/Length.h
M Source/WebCore/platform/LengthFunctions.cpp
M Source/WebCore/platform/LengthFunctions.h
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/style/RenderStyleInlines.h
M Source/WebCore/style/StyleBuilderConverter.h
M Source/WebKit/Shared/WebCoreArgumentCoders.cpp

  Log Message:
  ---
  [motion-path] Implement offset-position: normal
https://bugs.webkit.org/show_bug.cgi?id=259988
rdar://113644765

Reviewed by Tim Nguyen.

Have the inital value of offset-position default to using normal rather than 
auto. Currently
implemented by adding a normal keyword to length and specifying this default 
value in
RenderStyle::initialOffsetPosition. We should update 
normalPositionForOffsetPath in future
patches to ensure the normal value is correct for path operations other than 
ray().

* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-position-interpolation.html:
* LayoutTests/imported/w3c/web-platform-tests/css/motion/inheritance.html:
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
* Source/WebCore/css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::create):
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::isNormal):
(WebCore::valueForPositionOrAuto):
(WebCore::valueForOffsetShorthand):
* Source/WebCore/css/calc/CSSCalcValue.cpp:
(WebCore::createCSS):
* Source/WebCore/platform/Length.cpp:
(WebCore::operator<<):
* Source/WebCore/platform/Length.h:
(WebCore::Length::initialize):
(WebCore::Length::isNormal const):
* Source/WebCore/platform/LengthFunctions.cpp:
(WebCore::valueForLength):
(WebCore::floatValueForLength):
* Source/WebCore/platform/LengthFunctions.h:
(WebCore::minimumValueForLength):
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalWidthUsing const):
* Source/WebCore/rendering/style/RenderStyleInlines.h:
(WebCore::RenderStyle::initialOffsetPosition):
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertPositionOrAuto):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder::encode):
(IPC::ArgumentCoder::decode):

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


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


[webkit-changes] [WebKit/WebKit] 2f9a2a: [motion-path] Use border radius for coord-box

2023-09-04 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2f9a2a0138750b5ab4bd34fc487766a4adfb4c66
  
https://github.com/WebKit/WebKit/commit/2f9a2a0138750b5ab4bd34fc487766a4adfb4c66
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-04 (Mon, 04 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-coord-box-001.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-006-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-006.html
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/MotionPath.h
M Source/WebCore/rendering/PathOperation.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [motion-path] Use border radius for coord-box
https://bugs.webkit.org/show_bug.cgi?id=261074
rdar://114883507

Reviewed by Tim Nguyen.

Change containingBlockBoundingRect to FloatRoundedRect to take into account the 
border-radius
property.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-coord-box-001.html:
* Source/WebCore/rendering/MotionPath.cpp:
(WebCore::MotionPath::motionPathDataForRenderer):
(WebCore::MotionPath::lengthForRayPath):
(WebCore::MotionPath::computePathForRay):
(WebCore::MotionPath::computePathForBox):
* Source/WebCore/rendering/MotionPath.h:
* Source/WebCore/rendering/PathOperation.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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


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


[webkit-changes] [WebKit/WebKit] 79256d: [motion-path] Implement coord-box for ray

2023-09-01 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 79256d79a14c7bf6a0cd1b8ad56b3652669c48c7
  
https://github.com/WebKit/WebKit/commit/79256d79a14c7bf6a0cd1b8ad56b3652669c48c7
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt
M Source/WebCore/css/CSSRayValue.cpp
M Source/WebCore/css/CSSRayValue.h
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/PathOperation.cpp
M Source/WebCore/rendering/PathOperation.h
M Source/WebCore/style/StyleBuilderConverter.h

  Log Message:
  ---
  [motion-path] Implement coord-box for ray
https://bugs.webkit.org/show_bug.cgi?id=260814
rdar://114577300

Reviewed by Tim Nguyen.

Parse coord-box when included with ray, and use it to determine
the correct containg block box rect.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt:
* Source/WebCore/css/CSSRayValue.cpp:
(WebCore::CSSRayValue::customCSSText const):
(WebCore::CSSRayValue::equals const):
* Source/WebCore/css/CSSRayValue.h:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::valueForPathOperation):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeBasicShapeRayOrBox):
(WebCore::CSSPropertyParserHelpers::consumePathOperation):
(WebCore::CSSPropertyParserHelpers::consumeBasicShapeOrBox): Deleted.
* Source/WebCore/rendering/MotionPath.cpp:
(WebCore::offsetFromContainer):
(WebCore::MotionPath::motionPathDataForRenderer):
(WebCore::MotionPath::computePathForBox):
* Source/WebCore/rendering/PathOperation.h:
(WebCore::PathOperation::setReferenceBox):
(WebCore::PathOperation::referenceBox const):
(WebCore::PathOperation::PathOperation):
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertRayPathOperation):
(WebCore::Style::BuilderConverter::convertPathOperation):

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


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


[webkit-changes] [WebKit/WebKit] 5c26ae: [motion-path] Update "" implementatio...

2023-09-01 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5c26aeef463837637ee7d33492845821ae276e25
  
https://github.com/WebKit/WebKit/commit/5c26aeef463837637ee7d33492845821ae276e25
  Author: Nikolaos Mouchtaris 
  Date:   2023-09-01 (Fri, 01 Sep 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-001.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-004.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-005.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-001.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-003.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-004.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-ellipse-005.html
R 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-expected.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-polygon-001.html
R 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape.html
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/PathOperation.h

  Log Message:
  ---
  [motion-path] Update "" implementation for offset-path
https://bugs.webkit.org/show_bug.cgi?id=259994
rdar://110565070

Reviewed by Tim Nguyen.

Update ShapePathOperation to use the containing block's rect.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-shape-circle-001.html:
* Source/WebCore/rendering/PathOperation.h:
(WebCore::PathOperation::setContainingBlockReferenceRect):
(WebCore::PathOperation::PathOperation):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setReferenceBoxForPathOperations):

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


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


[webkit-changes] [WebKit/WebKit] c377f2: [motion-path] Update "" implementation ...

2023-08-31 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c377f2da36eb80d46bc851a8090f020bab79752f
  
https://github.com/WebKit/WebKit/commit/c377f2da36eb80d46bc851a8090f020bab79752f
  Author: Nikolaos Mouchtaris 
  Date:   2023-08-31 (Thu, 31 Aug 2023)

  Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/MotionPath.h
M Source/WebCore/rendering/PathOperation.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [motion-path] Update "" implementation for offset-path
https://bugs.webkit.org/show_bug.cgi?id=260944
rdar://110938788

Reviewed by Tim Nguyen.

Update coord-box to use the containing block's bounding rect if it
 exists. We also need to take into account the containing block's
border radius.

* LayoutTests/TestExpectations:
* Source/WebCore/rendering/MotionPath.cpp:
(WebCore::offsetFromContainer):
(WebCore::MotionPath::motionPathDataForRenderer):
* Source/WebCore/rendering/PathOperation.cpp:
(WebCore::BoxPathOperation::getPath const):
* Source/WebCore/rendering/PathOperation.h:

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


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


[webkit-changes] [WebKit/WebKit] acfa97: [motion-path] Check if we are mid layout when sett...

2023-08-30 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: acfa97d238a39af164eaf24a0abd4eec0cf096b4
  
https://github.com/WebKit/WebKit/commit/acfa97d238a39af164eaf24a0abd4eec0cf096b4
  Author: Nikolaos Mouchtaris 
  Date:   2023-08-30 (Wed, 30 Aug 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022.html
M Source/WebCore/page/LocalFrameViewLayoutContext.cpp
M Source/WebCore/page/LocalFrameViewLayoutContext.h
M Source/WebCore/rendering/RenderBlock.cpp
M Source/WebCore/rendering/RenderBlock.h
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
M Source/WebCore/rendering/RenderFlexibleBox.cpp
M Source/WebCore/rendering/RenderGrid.cpp
M Source/WebCore/rendering/RenderLayerModelObject.cpp

  Log Message:
  ---
  [motion-path] Check if we are mid layout when setting containing block rect 
for ray
https://bugs.webkit.org/show_bug.cgi?id=260110
rdar://113780201

Reviewed by Simon Fraser.

On the first RenderLayer::updateTransform call the parent is mid layout, so it 
is
inorrect to query it about its rect size. If we have a motion path transform, 
set
that this RenderObject needs a transform update on the parent through the 
FrameView's
layout context, and have the parent call updateTransform after it has completed 
layout.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-020.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-021.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-022.html:
 Added.

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


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


[webkit-changes] [WebKit/WebKit] f665fe: [motion-path] Accept position parameter in ray()

2023-08-30 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f665fe5b944c75b267e7bb6900d096d99e4e45d5
  
https://github.com/WebKit/WebKit/commit/f665fe5b944c75b267e7bb6900d096d99e4e45d5
  Author: Nikolaos Mouchtaris 
  Date:   2023-08-30 (Wed, 30 Aug 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt
M Source/WebCore/css/CSSRayValue.cpp
M Source/WebCore/css/CSSRayValue.h
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
M Source/WebCore/rendering/MotionPath.cpp
M Source/WebCore/rendering/MotionPath.h
M Source/WebCore/rendering/PathOperation.cpp
M Source/WebCore/rendering/PathOperation.h
M Source/WebCore/style/StyleBuilderConverter.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [motion-path] Accept position parameter in ray()
https://bugs.webkit.org/show_bug.cgi?id=258113
rdar://110821024

Reviewed by Tim Nguyen.

WIP from Tim Nguyen.

The ray() function should accept an at  parameter which represents 
the starting position of the ray.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/animation/offset-path-interpolation-005-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-013.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-computed-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/parsing/offset-path-parsing-valid-expected.txt:
* Source/WebCore/css/CSSRayValue.cpp:
(WebCore::CSSRayValue::customCSSText const):
(WebCore::CSSRayValue::equals const):
* Source/WebCore/css/CSSRayValue.h:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::valueForPathOperation):
* Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeRayShape):
* Source/WebCore/rendering/PathOperation.cpp:
(WebCore::RayPathOperation::create):
(WebCore::RayPathOperation::clone const):
(WebCore::RayPathOperation::blend const):
(WebCore::RayPathOperation::currentOffset const):
(WebCore::RayPathOperation::lengthForPath const):
(WebCore::RayPathOperation::getPath const):
* Source/WebCore/rendering/PathOperation.h:
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::offsetFromContainer):
(WebCore::RenderLayer::setReferenceBoxForPathOperations):
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertPathOperation):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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


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


[webkit-changes] [WebKit/WebKit] 3f5059: [motion-path] Refactor various parts of path opera...

2023-08-29 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3f5059d542cf81542755719fab60d75462d24768
  
https://github.com/WebKit/WebKit/commit/3f5059d542cf81542755719fab60d75462d24768
  Author: Nikolaos Mouchtaris 
  Date:   2023-08-29 (Tue, 29 Aug 2023)

  Changed paths:
M LayoutTests/TestExpectations
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019-expected.html
A 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html
M Source/WebCore/Headers.cmake
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/animation/KeyframeEffect.cpp
M Source/WebCore/css/ComputedStyleExtractor.cpp
M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp
A Source/WebCore/rendering/MotionPath.cpp
A Source/WebCore/rendering/MotionPath.h
M Source/WebCore/rendering/PathOperation.cpp
M Source/WebCore/rendering/PathOperation.h
M Source/WebCore/rendering/RenderBlockFlow.cpp
M Source/WebCore/rendering/RenderBox.cpp
M Source/WebCore/rendering/RenderLayer.cpp
M Source/WebCore/rendering/RenderLayer.h
M Source/WebCore/rendering/RenderLayerModelObject.cpp
M Source/WebCore/rendering/style/RenderStyle.cpp
M Source/WebCore/rendering/style/RenderStyle.h
M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
M Source/WebCore/svg/SVGGraphicsElement.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [motion-path] Refactor various parts of path operation and RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=260818
rdar://114584136

Reviewed by Simon Fraser.

This refactoring addresses a few issues with the current motion path design. 
First,
for paths that need additional data including its containing block rect or the 
element's
offset from its containing block, it is not correct to use the path operation 
to hold
these values, as the path operation is supposed to represent just the path 
specified by the
css. Instead, pass down these necessary values through a TransformOperationData 
struct.
Also added a test for this case to ensure that style sharing is not broken 
after this change.
Also, factor out some of the code related to computing the ray path into the 
new MotionPath
class, which now also includes applyMotionPathTransform.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019-expected.html:
 Added.
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-019.html:
 Added.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::computeTransformedExtentViaMatrix const):
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::computedTransform):
* Source/WebCore/platform/animation/AcceleratedEffectValues.cpp:
(WebCore::AcceleratedEffectValues::AcceleratedEffectValues):
* Source/WebCore/rendering/PathOperation.cpp:
(WebCore::RayPathOperation::create):
(WebCore::RayPathOperation::clone const):
(WebCore::RayPathOperation::getPath const):
(WebCore::RayPathOperation::lengthForPath const): Deleted.
(WebCore::RayPathOperation::lengthForContainPath const): Deleted.
* Source/WebCore/rendering/PathOperation.h:
(WebCore::PathOperation::getPath): Deleted.
* Source/WebCore/rendering/RenderBlockFlow.cpp:
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::applyTransform const):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::setReferenceBoxForPathOperations): Deleted.
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::applySVGTransform const):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::applyTransform const):
(WebCore::RenderStyle::applyCSSTransform const):
(WebCore::getTraversalStateAtDistance): Deleted.
(WebCore::RenderStyle::applyMotionPathTransform const): Deleted.
* Source/WebCore/rendering/style/RenderStyle.h:
* Source/WebCore/svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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


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


[webkit-changes] [WebKit/WebKit] 2f9700: [UI-side compositing] Webpage going blank when nav...

2023-08-07 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2f97007c9a1e30bf7b5df766ddd68ed029af4fd4
  
https://github.com/WebKit/WebKit/commit/2f97007c9a1e30bf7b5df766ddd68ed029af4fd4
  Author: Nikolaos Mouchtaris 
  Date:   2023-08-07 (Mon, 07 Aug 2023)

  Changed paths:
A 
LayoutTests/fast/scrolling/programmatic-scroll-merge-delta-and-position-expected.html
A 
LayoutTests/fast/scrolling/programmatic-scroll-merge-delta-and-position.html
A LayoutTests/fast/scrolling/programmatic-scroll-merge-delta-expected.html
A LayoutTests/fast/scrolling/programmatic-scroll-merge-delta.html
A 
LayoutTests/fast/scrolling/programmatic-scroll-merge-position-and-delta-expected.html
A 
LayoutTests/fast/scrolling/programmatic-scroll-merge-position-and-delta.html
M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp

  Log Message:
  ---
  [UI-side compositing] Webpage going blank when navigating diffs in 
https://whatpr.org/html/9537/238086f...f400a41/canvas.html#drawing-state
https://bugs.webkit.org/show_bug.cgi?id=259813
rdar://113366817

Reviewed by Simon Fraser and Cameron McCormack.

When getting multiple non-animated scroll requests, the current merging code 
loses the previous
scroll request if a new delta update comes in. To resolve this, add the two 
scroll requests together
if either or both are a delta update. Added a couple new tests for this since 
the tests in
imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-* do not cover 
this since they
are testing the web process position.

* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp:
(WebCore::RequestedScrollData::merge):

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


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


[webkit-changes] [WebKit/WebKit] e41f56: [UI-side compositing] REGRESSION: empty Mail compo...

2023-07-24 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e41f5679593f6e0a4eb380dd580392234ea3fd4b
  
https://github.com/WebKit/WebKit/commit/e41f5679593f6e0a4eb380dd580392234ea3fd4b
  Author: Nikolaos Mouchtaris 
  Date:   2023-07-24 (Mon, 24 Jul 2023)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M Source/WebCore/platform/Scrollbar.cpp
M Source/WebCore/platform/ScrollbarsController.h
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm

  Log Message:
  ---
  [UI-side compositing] REGRESSION: empty Mail compose window always shows a 
scrollbar
https://bugs.webkit.org/show_bug.cgi?id=259323
rdar://110872395

Reviewed by Simon Fraser.

To properly set NSScrollerImps as enabled in the UI-process, send accross the 
web
process state from the Scrollbar class. It is also necessary to set the state in
setScrollingNodeScrollableAreaGeometry because the first time setting this state
on the Scrollbar class can happen before the corresponding scrollable area has 
been
added to the scrolling tree.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setScrollbarEnabled):
(WebCore::AsyncScrollingCoordinator::setScrollingNodeScrollableAreaGeometry):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setScrollbarEnabled):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrollbarEnabledState):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::scrollbarEnabledState const):
* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
(WebCore::ScrollerMac::setEnabled):
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::updateValues):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::setEnabled):
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::setScrollbarEnabledSate):
* 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder::encode):
(ArgumentCoder::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
(WebKit::RemoteScrollbarsController::setScrollbarEnabledSate):

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


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


[webkit-changes] [WebKit/WebKit] 1bb52f: REGRESSION (UI-side compositing): Scrolling web in...

2023-07-21 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1bb52fdceac9130525dcb521bb779ee184a392eb
  
https://github.com/WebKit/WebKit/commit/1bb52fdceac9130525dcb521bb779ee184a392eb
  Author: Nikolaos Mouchtaris 
  Date:   2023-07-21 (Fri, 21 Jul 2023)

  Changed paths:
M Source/WebCore/dom/Element.cpp
M Source/WebCore/dom/Element.h
M Source/WebCore/page/LocalDOMWindow.cpp
M Source/WebCore/page/LocalDOMWindow.h
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
M Source/WebCore/platform/ScrollAnimator.cpp
M Source/WebCore/platform/ScrollTypes.cpp
M Source/WebCore/platform/ScrollTypes.h
M Source/WebCore/platform/ScrollView.cpp
M Source/WebCore/platform/ScrollableArea.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebCore/rendering/RenderLayerScrollableArea.h
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm

  Log Message:
  ---
  REGRESSION (UI-side compositing): Scrolling web inspector timeline is very 
jumpy
https://bugs.webkit.org/show_bug.cgi?id=258319
rdar://107685436

Reviewed by Simon Fraser.

When receiving a wheel event from dispatchEvent, the current design recieves 
this event
in the web process, and sends this request to the UI-process as a 
RequestedScrollData
object. This object contained a scrollPosition to animate to, but this was 
calculated
using the scroll position in the web process. Since this scroll position could 
be out
of sync with the UI-process while the user was scrolling, this could result in 
a scroll
to a scroll position behind the current scroll position, leading to a jumpy 
looking scroll.
To fix this, rather than sending across the scroll position to scroll to, 
simply send across
the requested scroll delta to the UI-process, and use the UI-process scroll 
position to
calculate the correct scroll position to animate to. Also, propagate down the 
original
scroll delta (if it exists), to be used in 
AsyncScrollingCoordinator::requestScrollToPosition,
so that we know whether to do a delta or scroll position update.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollToPosition):
* Source/WebCore/page/scrolling/ScrollingCoordinatorTypes.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::startPendingScrollAnimations):

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


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


[webkit-changes] [WebKit/WebKit] 0f2ddd: [UI-side compositing] Cannot grab the scrubber to ...

2023-07-17 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0f2ddd2e32274c34d687b6263b7664cc4c9aa5b2
  
https://github.com/WebKit/WebKit/commit/0f2ddd2e32274c34d687b6263b7664cc4c9aa5b2
  Author: Nikolaos Mouchtaris 
  Date:   2023-07-17 (Mon, 17 Jul 2023)

  Changed paths:
M Source/WebCore/page/LocalFrameView.h
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/platform/Scrollbar.cpp
M Source/WebCore/platform/Scrollbar.h
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebCore/platform/mac/ScrollbarThemeMac.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm

  Log Message:
  ---
  [UI-side compositing] Cannot grab the scrubber to scroll to the end of a long 
page (build log)
https://bugs.webkit.org/show_bug.cgi?id=259167
rdar://112154989

Reviewed by Simon Fraser.

After https://commits.webkit.org/265731@main removed NSScrollerImps in the web 
process, when
ScrollbarThemeMac::minimumThumbLength would query the scrollbar map, it 
wouldn't be able to
find the NSScrollerImp, so it would return 0. This resulted in users not being 
able to drag
the scrollbar. To resolve this, plumb the knobMinLength property to the web 
process, where it
is tracked by RemoteScrollbarsController.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollToPosition):
(WebCore::AsyncScrollingCoordinator::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::scrollbarMinimumThumbLengthDidChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::attach):
(WebCore::ScrollerMac::updateScrollbarStyle):
* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::minimumThumbLength const):
* Source/WebCore/platform/Scrollbar.h:
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::setScrollbarMinimumThumbLength):
(WebCore::ScrollbarsController::minimumThumbLength):
* Source/WebCore/platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
(WebKit::RemoteScrollbarsController::setScrollbarMinimumThumbLength):
(WebKit::RemoteScrollbarsController::minimumThumbLength):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm:
(WebKit::RemoteScrollingCoordinator::scrollingTreeNodeScrollbarMinimumThumbLengthDidChange):

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


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


[webkit-changes] [WebKit/WebKit] 1b57a2: [UI-side compositing] NSScrollerImps are still cre...

2023-07-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1b57a2e0de6aad8821281cd336b13ab56f57d19e
  
https://github.com/WebKit/WebKit/commit/1b57a2e0de6aad8821281cd336b13ab56f57d19e
  Author: Nikolaos Mouchtaris 
  Date:   2023-07-03 (Mon, 03 Jul 2023)

  Changed paths:
M Source/WebCore/platform/Scrollbar.cpp
M Source/WebCore/platform/Scrollbar.h
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebCore/platform/mac/ScrollbarThemeMac.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h

  Log Message:
  ---
  [UI-side compositing] NSScrollerImps are still created in the web process 
(triggering CATransactions)
https://bugs.webkit.org/show_bug.cgi?id=258369
rdar://109689491

Reviewed by Simon Fraser.

With UI-side compositing, NSScrollerImps are now kept in the UI-process for all 
scrollbars
except for RenderListBox scrollbars. To prevent the unnecessary creation of 
NSScrollerImps
in the web process in ScrollbarThemeMac::registerScrollbar, check if the 
scrollbar is one
of a RenderListBox and if we have a RemoteScrollbarsController.

* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::shouldRegisterScrollbars const):
* Source/WebCore/platform/ScrollableArea.h:
* Source/WebCore/platform/Scrollbar.cpp:
(WebCore::Scrollbar::shouldRegisterScrollbar const):
* Source/WebCore/platform/Scrollbar.h:
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::shouldRegisterScrollbars const):
* Source/WebCore/platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::registerScrollbar):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:

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


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


[webkit-changes] [WebKit/WebKit] 62eb15: PROGRESSION (263656@main): Three fast/scrolling/ma...

2023-07-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 62eb15f04810e8f06004bace89f4237b8a36df7f
  
https://github.com/WebKit/WebKit/commit/62eb15f04810e8f06004bace89f4237b8a36df7f
  Author: Nikolaos Mouchtaris 
  Date:   2023-07-03 (Mon, 03 Jul 2023)

  Changed paths:
M LayoutTests/platform/mac-wk2/TestExpectations
M LayoutTests/resources/ui-helper.js

  Log Message:
  ---
  PROGRESSION (263656@main): Three fast/scrolling/mac/scrollbars are a 
consistent failure or timeout
https://bugs.webkit.org/show_bug.cgi?id=258641
rdar://111424377

Reviewed by Tim Nguyen.

Add check for scroller before querying the type. This regressed after
https://commits.webkit.org/263656@main which added the type check for the 
select element
tests, which need to use the old scrollbar testing infrastructure.

* LayoutTests/resources/ui-helper.js:

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


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


[webkit-changes] [WebKit/WebKit] 7e2067: Update implementation of contain flag for motion p...

2023-06-13 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7e206701112298ed0df6f7a8e3a393e9e8531530
  
https://github.com/WebKit/WebKit/commit/7e206701112298ed0df6f7a8e3a393e9e8531530
  Author: Nikolaos Mouchtaris 
  Date:   2023-06-12 (Mon, 12 Jun 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004.html
M Source/WebCore/platform/animation/AcceleratedEffectValues.cpp
M Source/WebCore/rendering/PathOperation.cpp
M Source/WebCore/rendering/PathOperation.h
M Source/WebCore/rendering/style/RenderStyle.cpp

  Log Message:
  ---
  Update implementation of contain flag for motion path 
https://bugs.webkit.org/show_bug.cgi?id=256225
rdar://108861663

Reviewed by Tim Nguyen.

After w3c/fxtf-drafts@bd9fb9b, we need to update our contain
implementation to follow this new behavior. This involves replacing the old 
implementation
in RayPathOperation::lengthForContainPath to the new behavior, which just bases 
the length
we shorten the computed path length on half the width or height of the element 
that we are
animating. Since we no longer need the anchor point or the angle of the ray, 
remove this
from RayPathOperation::lengthForContainPath's function parameters (as well as 
all other
PathOperations).

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004.html:
* Source/WebCore/platform/animation/AcceleratedEffectValues.cpp:
(WebCore::AcceleratedEffectValues::AcceleratedEffectValues):
* Source/WebCore/rendering/PathOperation.cpp:
(WebCore::RayPathOperation::lengthForContainPath const):
(WebCore::RayPathOperation::getPath const):
* Source/WebCore/rendering/PathOperation.h:
(WebCore::PathOperation::getPath):
* Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::applyMotionPathTransform const):

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


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


[webkit-changes] [WebKit/WebKit] d19192: [UI-side compositing] Eliminate unnecessary invali...

2023-05-15 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d19192443a84fc6e6c00383118c8af3e16f78c8a
  
https://github.com/WebKit/WebKit/commit/d19192443a84fc6e6c00383118c8af3e16f78c8a
  Author: Nikolaos Mouchtaris 
  Date:   2023-05-15 (Mon, 15 May 2023)

  Changed paths:
M Source/WebCore/platform/ScrollableArea.cpp
M Source/WebCore/platform/ScrollbarsController.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm

  Log Message:
  ---
  [UI-side compositing] Eliminate unnecessary invalidate of scrollbar layers 
when scrolling
https://bugs.webkit.org/show_bug.cgi?id=256624
rdar://109184266

Reviewed by Simon Fraser.

For UI-side compositing, we only paint into scrollbar layers in the WebProcess 
for
custom scrollbars. To reflect this, add 
RemoteScrollbarsController::shouldDrawIntoScrollbarLayer
and check before invalidating the scrollbar layers, to prevent unnecessary 
calls into
GraphicsLayerCA::platformCALayerPaintContents when we aren't actually going to 
paint anything.

* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::invalidateScrollbar):
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::shouldDrawIntoScrollbarLayer const):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:
(WebKit::RemoteScrollbarsController::shouldDrawIntoScrollbarLayer const):

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


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


[webkit-changes] [WebKit/WebKit] f11ea3: "Frame End" timeline point is wrong with UI-side c...

2023-05-10 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f11ea318b8fc5ab963b9d04f61e2cc1649b0ee6a
  
https://github.com/WebKit/WebKit/commit/f11ea318b8fc5ab963b9d04f61e2cc1649b0ee6a
  Author: Nikolaos Mouchtaris 
  Date:   2023-05-10 (Wed, 10 May 2023)

  Changed paths:
M Source/WebCore/inspector/InspectorInstrumentation.cpp
M Source/WebCore/inspector/InspectorInstrumentation.h
M Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp
M Source/WebCore/inspector/agents/InspectorTimelineAgent.h
M Source/WebCore/page/Page.cpp

  Log Message:
  ---
  "Frame End" timeline point is wrong with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=249796
rdar://103645351

Reviewed by Simon Fraser.

Have Page::didCompleteRenderingFrame drive InspectorFrameEnd by calling
into InspectorInstrumentation, which calls down into InspectorTimelineAgent.
Instead of incrementing m_runLoopNestingLevel for each InspectorFrameBegin
event, only increment when we have a corresponding didCompleteRenderingFrame
event.

* Source/WebCore/inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCompleteRenderingFrameImpl):
* Source/WebCore/inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::eventDidResetAfterDispatch):
(WebCore::InspectorInstrumentation::didCompleteRenderingFrame):
* Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::didCompleteRenderingFrame):
* Source/WebCore/inspector/agents/InspectorTimelineAgent.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::didCompleteRenderingFrame):

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


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


[webkit-changes] [WebKit/WebKit] db4254: [UI-side compositing] Scrollbar tests should use w...

2023-05-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: db42544a3d68961ad1c8daa0383e2e5ad7feb2e5
  
https://github.com/WebKit/WebKit/commit/db42544a3d68961ad1c8daa0383e2e5ad7feb2e5
  Author: Nikolaos Mouchtaris 
  Date:   2023-05-03 (Wed, 03 May 2023)

  Changed paths:
M LayoutTests/resources/ui-helper.js

  Log Message:
  ---
  [UI-side compositing] Scrollbar tests should use web process state for select 
elements
https://bugs.webkit.org/show_bug.cgi?id=255671
rdar://108275933

Reviewed by Simon Fraser.

Even with UI-side compositing on, RenderListBox keeps its NSScrollerImps in the 
web process.
The horizontal/verticalScrollbarState UIHelper functions should use the web 
process version
if the input element is a select element.

* LayoutTests/resources/ui-helper.js:

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


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


[webkit-changes] [WebKit/WebKit] e2f320: [ui-side compositing] Add check for layer after sc...

2023-05-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e2f320571c31401849a94f07ce06765dc4dd1e7c
  
https://github.com/WebKit/WebKit/commit/e2f320571c31401849a94f07ce06765dc4dd1e7c
  Author: Nikolaos Mouchtaris 
  Date:   2023-05-03 (Wed, 03 May 2023)

  Changed paths:
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm

  Log Message:
  ---
  [ui-side compositing] Add check for layer after scaling CATransaction 
completed
https://bugs.webkit.org/show_bug.cgi?id=255816
rdar://108234128

Reviewed by Simon Fraser.

Add check for layer after scaling CATransaction completed. Also hold a
RefPtr to the WebPageProxy to ensure that the drawing area still exists
after the completion block finishes.

* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxyMac::commitTransientZoom):

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


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


[webkit-changes] [WebKit/WebKit] 75d7fe: Update WPT contain tests in css/motion/

2023-05-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 75d7fecef97ac1b7811cb97cce013bc01be53ed0
  
https://github.com/WebKit/WebKit/commit/75d7fecef97ac1b7811cb97cce013bc01be53ed0
  Author: Nikolaos Mouchtaris 
  Date:   2023-05-03 (Wed, 03 May 2023)

  Changed paths:
M LayoutTests/TestExpectations
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001-expected.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-002-expected.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-003-expected.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004-expected.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005-expected.html
M 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005.html
M LayoutTests/platform/gtk/TestExpectations
M LayoutTests/platform/wpe/TestExpectations

  Log Message:
  ---
  Update WPT contain tests in css/motion/
https://bugs.webkit.org/show_bug.cgi?id=256226
rdar://108804522

Reviewed by Tim Nguyen.

Import new WPT contain tests for  after spec change:
https://github.com/w3c/fxtf-drafts/commit/bd9fb9b.

* LayoutTests/TestExpectations:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001-expected.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-001.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-002-expected.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-003-expected.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-004-expected.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005-expected.html:
* 
LayoutTests/imported/w3c/web-platform-tests/css/motion/offset-path-ray-contain-005.html:

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


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


[webkit-changes] [WebKit/WebKit] f719f8: ASSERTION FAILED: scrollerImp == scroller->scrolle...

2023-05-01 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f719f87b07476ed574a5a450bf39931218d52798
  
https://github.com/WebKit/WebKit/commit/f719f87b07476ed574a5a450bf39931218d52798
  Author: Nikolaos Mouchtaris 
  Date:   2023-05-01 (Mon, 01 May 2023)

  Changed paths:
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm

  Log Message:
  ---
  ASSERTION FAILED: scrollerImp == scroller->scrollerImp() if closing a window 
while scrolling
https://bugs.webkit.org/show_bug.cgi?id=255886
rdar://108469342

Reviewed by Simon Fraser.

The order of destruction is ScrollingTreeScrollingNodeDelegateMac -> 
ScrollerPairMac ->
ScrollerMac. We don't want to release the scroller imps in 
ScrollingTreeScrollingNodeDelegateMac
because we have yet to remove the delegate from the scroller imps. This can 
lead to a state where
we get a call to convertContentPoint when our reference to the scroller imps in 
ScrollerMac are
already released. To resolve this, move this call to ~ScrollerPairMac and move 
the ScrollerMac
calls to the individual scroller imps to their own function and call them in 
~ScrollerPairMac.

* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(-[WebScrollerImpPairDelegateMac 
scrollerImpPair:convertContentPoint:toScrollerImp:]):
(WebCore::ScrollerPairMac::~ScrollerPairMac):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::~ScrollingTreeScrollingNodeDelegateMac):

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


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


[webkit-changes] [WebKit/WebKit] a9d8f8: [UI-side compositing] Have RemoteScrollbarsControl...

2023-04-15 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a9d8f8b89517139a774a25647ffcbf0e44fc6b8c
  
https://github.com/WebKit/WebKit/commit/a9d8f8b89517139a774a25647ffcbf0e44fc6b8c
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-15 (Sat, 15 Apr 2023)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/platform/ScrollTypes.h
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/SourcesCocoa.txt
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
R 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.cpp
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h
A 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm

  Log Message:
  ---
  [UI-side compositing] Have RemoteScrollbarsController keep track of scrollbar 
visibility for hit testing
https://bugs.webkit.org/show_bug.cgi?id=255303
rdar://107859102

Reviewed by Simon Fraser.

Overlay scrollbars should only participate in hit testing when they are 
visible. When we do a knob alpha
animation in the UI process, send a visibility change event to the web process, 
notifying
RemoteScrollbarsController so it can properly report in 
shouldScrollbarParticipateInHitTesting
whether the scrollbar should participate in hit testing or not.

* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::scrollbarVisibilityDidChange):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(-[WebScrollerImpDelegateMac scrollerImp:animateKnobAlphaTo:duration:]):
(WebCore::ScrollerMac::visibilityChanged):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
(WebCore::ScrollerPairMac::scrollingNode):
* Source/WebCore/platform/ScrollTypes.h:
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::setScrollbarVisibilityState):
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::scrollingTreeNodeScrollbarVisibilityDidChange):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm: 
Renamed from 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.cpp.
(WebKit::RemoteScrollbarsController::RemoteScrollbarsController):
(WebKit::RemoteScrollbarsController::mouseEnteredContentArea):
(WebKit::RemoteScrollbarsController::mouseExitedContentArea):
(WebKit::RemoteScrollbarsController::mouseMovedInContentArea):
(WebKit::RemoteScrollbarsController::mouseEnteredScrollbar const):
(WebKit::RemoteScrollbarsController::mouseExitedScrollbar const):
(WebKit::RemoteScrollbarsController::shouldScrollbarParticipateInHitTesting):
(WebKit::RemoteScrollbarsController::setScrollbarVisibilityState):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h:
* 

[webkit-changes] [WebKit/WebKit] caec1d: [Ui-side compositing] Fix mouse position reporting...

2023-04-14 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: caec1d312c597c37515751aedbec9433978fb627
  
https://github.com/WebKit/WebKit/commit/caec1d312c597c37515751aedbec9433978fb627
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-14 (Fri, 14 Apr 2023)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp

  Log Message:
  ---
  [Ui-side compositing] Fix mouse position reporting to AppKit in 
WebScrollerImpPairDelegateMac
https://bugs.webkit.org/show_bug.cgi?id=255188
rdar://107776583

Reviewed by Simon Fraser.

This patch aims to fix several issues with the way ScrollerPairMac and 
ScrollerMac handle
mouse events, with the intent of fixing hovering over overlay scrollbars in 
overflow scrolling
nodes. The first issue is that currently there isn't a good way to convert the 
frame relative
mouse position to a scrollbar relative mouse position. To work around this, 
bundle the scrollbar
relative mouse positions in the mouseMovedInContentArea event. When we know 
that we have updated
mouse positions from the WebProcess, return them in the various 
WebScrollerImpPairDelegateMac
functions. The second issue is that RemoteScrollingTree is only calling 
handleMouseEvent
on the root scroller. Since this mouse position was only being used as input to 
convertContentPoint,
it is ok to just return a zero point and use the converted mouse position from 
the Web Process.

* Source/WebCore/page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::lastKnownMousePosition):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::lastKnownMousePosition const):
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
(WebCore::ScrollingTreeScrollingNodeDelegate::lastKnownMousePosition const):
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(-[WebScrollerImpDelegateMac mouseLocationInScrollerForScrollerImp:]):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
(WebCore::ScrollerPairMac::node const):
(WebCore::ScrollerPairMac::lastKnownMousePosition const): Deleted.
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(-[WebScrollerImpPairDelegateMac 
mouseLocationInContentAreaForScrollerImpPair:]):
(-[WebScrollerImpPairDelegateMac 
scrollerImpPair:convertContentPoint:toScrollerImp:]):
(WebCore::ScrollerPairMac::lastKnownMousePosition const):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::lastKnownMousePosition const):
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::lastKnownMousePosition):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::lastKnownMousePosition):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h:

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


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


[webkit-changes] [WebKit/WebKit] 8640c2: [UI Side Compositing] REGRESSION: fast/scrolling/s...

2023-04-13 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8640c2ed1f9e12945be08b6e96e0988fd905d03e
  
https://github.com/WebKit/WebKit/commit/8640c2ed1f9e12945be08b6e96e0988fd905d03e
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-13 (Thu, 13 Apr 2023)

  Changed paths:
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp

  Log Message:
  ---
  [UI Side Compositing] REGRESSION: fast/scrolling/scroll-animator tests are 
failing (need ScrollbarsControllerMock logging)
https://bugs.webkit.org/show_bug.cgi?id=255421
rdar://107345364

Reviewed by Simon Fraser.

Prevent creation of a RemoteScrollbarsController if mock scrollbars are 
enabled, so we can
create a MockScrollbarsController instead.

* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollbarsController const):

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


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


[webkit-changes] [WebKit/WebKit] 87496b: [UI-side compositing] Create RemoteScrollbarsContr...

2023-04-07 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 87496bbd2fe0644663cbe1fb501e2711eddae3c3
  
https://github.com/WebKit/WebKit/commit/87496bbd2fe0644663cbe1fb501e2711eddae3c3
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
A 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.cpp
A 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h

  Log Message:
  ---
  [UI-side compositing] Create RemoteScrollbarsController for plumbing web 
process events to the scrolling coordinator
https://bugs.webkit.org/show_bug.cgi?id=255173
rdar://107770765

Reviewed by Simon Fraser.

This patch creates RemoteScrollbarsController, for the purpose of moving the 
scrolling coordinator
calls out of EventHandler and into the ScrollbarController functions, which 
were already being
called in the EventHandler.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::notifyScrollableAreasOfMouseEvents):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setMouseIsOverContentArea):
(WebCore::AsyncScrollingCoordinator::setMouseMovedInContentArea):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setMouseIsOverContentArea):
(WebCore::ScrollingCoordinator::setMouseMovedInContentArea):
* Source/WebCore/platform/ScrollbarsController.h:
(WebCore::ScrollbarsController::contentAreaWillPaint const):
(WebCore::ScrollbarsController::mouseEnteredContentArea):
(WebCore::ScrollbarsController::mouseExitedContentArea):
(WebCore::ScrollbarsController::mouseMovedInContentArea):
(WebCore::ScrollbarsController::mouseEnteredScrollbar const):
(WebCore::ScrollbarsController::mouseExitedScrollbar const):
(WebCore::ScrollbarsController::mouseIsDownInScrollbar const):
(WebCore::ScrollbarsController::willStartLiveResize):
(WebCore::ScrollbarsController::contentsSizeChanged const):
(WebCore::ScrollbarsController::willEndLiveResize):
(WebCore::ScrollbarsController::contentAreaDidShow):
(WebCore::ScrollbarsController::contentAreaDidHide):
(WebCore::ScrollbarsController::lockOverlayScrollbarStateToHidden):
(WebCore::ScrollbarsController::scrollbarsCanBeActive const):
(WebCore::ScrollbarsController::didAddVerticalScrollbar):
(WebCore::ScrollbarsController::willRemoveVerticalScrollbar):
(WebCore::ScrollbarsController::didAddHorizontalScrollbar):
(WebCore::ScrollbarsController::willRemoveHorizontalScrollbar):
(WebCore::ScrollbarsController::invalidateScrollbarPartLayers):
(WebCore::ScrollbarsController::verticalScrollbarLayerDidChange):
(WebCore::ScrollbarsController::horizontalScrollbarLayerDidChange):
(WebCore::ScrollbarsController::shouldScrollbarParticipateInHitTesting):
(WebCore::ScrollbarsController::horizontalScrollbarStateForTesting const):
(WebCore::ScrollbarsController::verticalScrollbarStateForTesting const):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createScrollingCoordinator const):
(WebKit::WebChromeClient::createScrollbarsController const):
* Source/WebKit/WebProcess/WebPage/mac/ScrollbarsControllerProxyMac.cpp: Added.
(WebKit::ScrollbarsControllerProxyMac::ScrollbarsControllerProxyMac):
(WebKit::ScrollbarsControllerProxyMac::mouseEnteredContentArea):
(WebKit::ScrollbarsControllerProxyMac::mouseExitedContentArea):
(WebKit::ScrollbarsControllerProxyMac::mouseMovedInContentArea):
(WebKit::ScrollbarsControllerProxyMac::mouseEnteredScrollbar const):
(WebKit::ScrollbarsControllerProxyMac::mouseExitedScrollbar const):
* Source/WebKit/WebProcess/WebPage/mac/ScrollbarsControllerProxyMac.h: Added.

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


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


[webkit-changes] [WebKit/WebKit] 15cb0c: [UI-side compositing] Legacy scrollbars do not fla...

2023-04-07 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 15cb0cae9dcf910ce6862066f42cb29fa9e09741
  
https://github.com/WebKit/WebKit/commit/15cb0cae9dcf910ce6862066f42cb29fa9e09741
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [UI-side compositing] Legacy scrollbars do not flash grey when hovered over
https://bugs.webkit.org/show_bug.cgi?id=254721
rdar://107447969

Reviewed by Simon Fraser.

For legacy scrollbars we need to call NSScrollerImp functions to notify them 
when a mouse
is hovering over them. The approach in this patch is to plumb a pair of bits 
representing
if a mouse is in the vertical or horizontal scrollbar through the scrolling 
tree, which
eventually calls into the scroller imp of ScrollerMac. Since this is only 
needed for legacy
scrollbars return early in ScrollerMac::mouseEntered/ExitedScrollbar if the 
style is not
legacy.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::updateLastScrollbarUnderMouse):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::mouseDidEnterScrollbar):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::mouseDidEnterScrollbar):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setMouseDidEnterScrollbar):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::mouseDidEnterScrollbar const):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::mouseEnteredScrollbar):
(WebCore::ScrollerPairMac::mouseExitedScrollbar):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
* Source/WebCore/platform/ScrollbarsController.h:
* Source/WebCore/platform/mac/NSScrollerImpDetails.mm:
(WebCore::ScrollerStyle::recommendedScrollerStyle):
* 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder::encode):
(ArgumentCoder::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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


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


[webkit-changes] [WebKit/WebKit] 90a47d: [UI-side compositing] Plumb mouseMovedInContentAre...

2023-04-06 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 90a47db0ffa461850eaba59ae2b2f2dae80eee2a
  
https://github.com/WebKit/WebKit/commit/90a47db0ffa461850eaba59ae2b2f2dae80eee2a
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-06 (Thu, 06 Apr 2023)

  Changed paths:
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in

  Log Message:
  ---
  [UI-side compositing] Plumb mouseMovedInContentArea event to UI process
https://bugs.webkit.org/show_bug.cgi?id=255126
rdar://107732708

Reviewed by Simon Fraser.

This patch plumbs mouseMovedInContentArea events to the UI process.
This event is generated each time the mouse is moved within the
particular content area, and eventually results into a
mouseLocationInScrollerForScrollerImp call into our delegate class,
which allows AppKit to know where the mouse is within the scroller
(this function still needs to be fixed for overflow scroll nodes).
Since there is no state related to this we simply use the property
change on the ScrollingStateNode to tell the UI process to send this
event to the ScrollerPairMac. This patch also ensures that the
NSScrollerImpPairs are accessed on the main thread for the various
mouse events.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::notifyScrollableAreasOfMouseEvents):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setMouseIsActiveInContentArea):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setMouseIsActiveInContentArea):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::setMouseIsActiveInContentArea):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::mouseMovedInContentArea):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:

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


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


[webkit-changes] [WebKit/WebKit] 80376d: [UI-side compositing] Plumb mouseEnteredContentAre...

2023-04-06 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80376d725c73b12a9256c66fa08c15bf46d9e4c2
  
https://github.com/WebKit/WebKit/commit/80376d725c73b12a9256c66fa08c15bf46d9e4c2
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-06 (Thu, 06 Apr 2023)

  Changed paths:
M Source/WebCore/page/EventHandler.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingCoordinator.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h

  Log Message:
  ---
  [UI-side compositing] Plumb mouseEnteredContentArea and 
mouseExitedContentArea events to UI process
https://bugs.webkit.org/show_bug.cgi?id=255061
rdar://107685729

Reviewed by Simon Fraser.

This is the first patch that is necessary to get overlay scrollbars working in 
overflow
scrolling nodes. This patch plumbs mouseEnteredContentArea and 
mouseExitedContentArea events
to the UI-process through the scrolling tree to ScrollerPairMac, which 
eventually calls the
equivalent functions on the NSScrollerImps. This patch also fixes a bug where 
updateFromStateNode
was called multiple times which caused mouseEntered/ExitedContentArea to be 
called twice. The solution
was to remove commitStateBeforeChildren from the remote scrolling nodes as all 
they did was call
updateFromStateNode on the delegate, which the parent class already does.

* Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::notifyScrollableAreasOfMouseEvents):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setMouseIsOverContentArea):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h:
* Source/WebCore/page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setMouseIsOverContentArea):
* Source/WebCore/page/scrolling/ScrollingStateNode.h:
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setMouseIsOverContentArea):
* Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::mouseIsOverContentArea const):
* Source/WebCore/page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::scrollingTree const):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::mouseEnteredContentArea):
(WebCore::ScrollerPairMac::mouseExitedContentArea):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
* 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder::encode):
(ArgumentCoder::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::commitStateBeforeChildren): 
Deleted.
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::commitStateBeforeChildren):
 Deleted.
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h:

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


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


[webkit-changes] [WebKit/WebKit] 3a9451: Update fast/scrolling/mac/scrollbars tests to use ...

2023-04-03 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3a9451dba31381654b6b9ebd65f21d083a36b474
  
https://github.com/WebKit/WebKit/commit/3a9451dba31381654b6b9ebd65f21d083a36b474
  Author: Nikolaos Mouchtaris 
  Date:   2023-04-03 (Mon, 03 Apr 2023)

  Changed paths:
M 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html
M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html
M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state-expected.txt
M LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html
M LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state-expected.txt
M LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html
M 
LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html
M LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html
M LayoutTests/resources/ui-helper.js

  Log Message:
  ---
  Update fast/scrolling/mac/scrollbars tests to use new UIHelper scrollbar 
state function
https://bugs.webkit.org/show_bug.cgi?id=254698
rdar://107389069

Reviewed by Simon Fraser.

Update the scrollbar tests to use the new infrastructure. When in non UI-side 
compositing mode
UIHelper.horizontal/verticalScrollbarState will use the old internals function, 
and when in
UI-side compositing mode, it will use the new UIScriptController function.

* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html:
* LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html:
* LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state-expected.txt:
* LayoutTests/fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html:
* LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state-expected.txt:
* LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-state.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html:
* 
LayoutTests/fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html:
* LayoutTests/fast/scrolling/mac/scrollbars/very-wide-overlay-scrollbar.html:
* LayoutTests/resources/ui-helper.js:
(window.UIHelper.async waitForConditionAsync):
(window.UIHelper.scrollbarState.return.new.Promise.):
(window.UIHelper.scrollbarState.return.new.Promise):
(window.UIHelper.scrollbarState):
(window.UIHelper.verticalScrollbarState):
(window.UIHelper.horizontalScrollbarState):

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


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


[webkit-changes] [WebKit/WebKit] 715676: [UI-side compositing] Have RemoteLayerTreeScrollin...

2023-03-30 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 715676da19135f162e185afac74ea0d26c653ed8
  
https://github.com/WebKit/WebKit/commit/715676da19135f162e185afac74ea0d26c653ed8
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h

  Log Message:
  ---
  [UI-side compositing] Have RemoteLayerTreeScrollingPerformanceData log data 
after each event
https://bugs.webkit.org/show_bug.cgi?id=254747
rdar://107424375

Reviewed by Simon Fraser.

Have RemoteLayerTreeScrollingPerformanceData log data after each event to stop 
ScrollPerf
from crashing due to no scrolling data.

* 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm:
(WebKit::RemoteLayerTreeScrollingPerformanceData::didCommitLayerTree):
(WebKit::RemoteLayerTreeScrollingPerformanceData::didScroll):
(WebKit::RemoteLayerTreeScrollingPerformanceData::didChangeSynchronousScrollingReasons):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::logScrollingPerformanceData): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:

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


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


[webkit-changes] [WebKit/WebKit] ec1f7d: [UI-side compositing] Fix ScrollerMac::scrollbarState

2023-03-29 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ec1f7d407a9b847166182a58403f8c06737458f9
  
https://github.com/WebKit/WebKit/commit/ec1f7d407a9b847166182a58403f8c06737458f9
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm

  Log Message:
  ---
  [UI-side compositing] Fix ScrollerMac::scrollbarState
https://bugs.webkit.org/show_bug.cgi?id=254685
rdar://107384908

Reviewed by Simon Fraser.

Have ScrollerMac::scrollbarState return none when we don't
have a layer for this orientation. Also return early when
we are not an overlay scrollbar.

* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::scrollbarState const):

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


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


[webkit-changes] [WebKit/WebKit] 3fb91e: [UI-side compositing] Fix for assert in scrollbar ...

2023-03-29 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3fb91e2c59ba4db706f2ace5cf12bc71b3db9ddd
  
https://github.com/WebKit/WebKit/commit/3fb91e2c59ba4db706f2ace5cf12bc71b3db9ddd
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm

  Log Message:
  ---
  [UI-side compositing] Fix for assert in scrollbar tests: scrollerImp == 
scroller->scrollerImp()
https://bugs.webkit.org/show_bug.cgi?id=254678
rdar://107380404

Reviewed by Simon Fraser.

We need to update the ScrollerPairMac for the new NSScrollerImps created
in ScrollerMac::updateScrollbarStyle.

* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::setHostLayer):
(WebCore::ScrollerMac::updateScrollbarStyle):
(WebCore::ScrollerMac::updatePairScrollerImps):

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


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


[webkit-changes] [WebKit/WebKit] d4f1d3: [UI-side compositing] Add logging for painting new...

2023-03-28 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d4f1d3db3f612fc1283129792b44882a657f7fa5
  
https://github.com/WebKit/WebKit/commit/d4f1d3db3f612fc1283129792b44882a657f7fa5
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
M Source/WebCore/platform/graphics/ca/TileController.cpp
M Source/WebCore/platform/graphics/ca/TileController.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp

  Log Message:
  ---
  [UI-side compositing] Add logging for painting new tile for ScrollPerf
https://bugs.webkit.org/show_bug.cgi?id=254050
rdar://106775893

Reviewed by Simon Fraser.

Use iOS's RemoteLayerTreeScrollingPerformanceData to calculate blank tiles
for new tile creation and scrolling. Log all of the accumulated log events
when the WebPageProxy is closed. Also, disable the logging on TileController
to prevent double logging new tile events in the web process by having
PlatformCALayerRemoteTiledBacking set a bool.

* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::mainFrameScrollPosition const):
* Source/WebCore/platform/graphics/ca/TileController.cpp:
(WebCore::TileController::TileController):
(WebCore::TileController::logFilledVisibleFreshTile):
* Source/WebCore/platform/graphics/ca/TileController.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::gatherPlatformLayerList):
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
(WebKit::RemoteLayerTreeDrawingAreaProxy::lastViewportRect const):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setViewportRect):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:
(WebKit::RemoteLayerTreeNode::hadFirstPaint):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::reportFilledVisibleFreshTile):
(WebKit::RemoteScrollingCoordinatorProxy::setScrollingPerformanceTestingEnabled 
const):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingPerformanceTestingEnabled 
const):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:

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


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


[webkit-changes] [WebKit/WebKit] f0a92c: [UI-side compositing] Have ScrollerPairMac::setScr...

2023-03-28 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f0a92ce4e218659f9faaa992bd2b72fdbc9fb8b1
  
https://github.com/WebKit/WebKit/commit/f0a92ce4e218659f9faaa992bd2b72fdbc9fb8b1
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm

  Log Message:
  ---
  [UI-side compositing] Have ScrollerPairMac::setScrollbarStyle update the 
NSScrollerImp style
https://bugs.webkit.org/show_bug.cgi?id=254619
rdar://107334257

Reviewed by Simon Fraser.

Have ScrollerPairMac::setScrollbarStyle update the NSScrollerImps on the 
individual
scroller classes.

* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::updateScrollbarStyle):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::setScrollbarStyle):

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


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


[webkit-changes] [WebKit/WebKit] 9ca2fd: [UI-side compositing] Add helper function to ui-he...

2023-03-28 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9ca2fd55c2269f40ef8d1f2b37c8b15cf1cdd434
  
https://github.com/WebKit/WebKit/commit/9ca2fd55c2269f40ef8d1f2b37c8b15cf1cdd434
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
M LayoutTests/resources/ui-helper.js

  Log Message:
  ---
  [UI-side compositing] Add helper function to ui-helper.js to get scrollbar 
state
https://bugs.webkit.org/show_bug.cgi?id=254615
rdar://107332737

Reviewed by Wenson Hsieh and Simon Fraser.

Add helper function to ui-helper.js to get scrollbar state.

* LayoutTests/resources/ui-helper.js:
(window.UIHelper.scrollbarState.return.new.Promise.):
(window.UIHelper.scrollbarState.return.new.Promise):
(window.UIHelper.scrollbarState):
(window.UIHelper.verticalScrollbarState):
(window.UIHelper.horizontalScrollbarState):

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


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


[webkit-changes] [WebKit/WebKit] 8ea93a: [UI-side compositing] Have internals.setUsesOverla...

2023-03-27 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8ea93a3480fe79a7979111cb6935755eddca56bb
  
https://github.com/WebKit/WebKit/commit/8ea93a3480fe79a7979111cb6935755eddca56bb
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-27 (Mon, 27 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp
M Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingStateNode.h
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.h
M 
Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
M Tools/WebKitTestRunner/mac/UIScriptControllerMac.h

  Log Message:
  ---
  [UI-side compositing] Have internals.setUsesOverlayScrollbars() plumb bit to 
UI process
https://bugs.webkit.org/show_bug.cgi?id=254381
rdar://107161887

Reviewed by Simon Fraser.

Add a bit on the frame node of the scrolling tree for overlay scrollbar state.

* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html:
* Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
* Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _setUsesOverlayScrollbars:]):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::setUsesOverlayScrollbars):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* Tools/TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setUsesOverlayScrollbars const):
* Tools/WebKitTestRunner/mac/UIScriptControllerMac.h:
* Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setUsesOverlayScrollbars const):

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


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


[webkit-changes] [WebKit/WebKit] 0b438d: [UI-side compositng] Use ScrollbarsController base...

2023-03-27 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0b438d0d3534b730070191525a8a0508ccc633d2
  
https://github.com/WebKit/WebKit/commit/0b438d0d3534b730070191525a8a0508ccc633d2
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-27 (Mon, 27 Mar 2023)

  Changed paths:
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/page/ChromeClient.cpp
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/platform/ScrollableArea.cpp
M Source/WebCore/platform/ScrollableArea.h
M Source/WebCore/platform/ScrollbarsController.h
M Source/WebCore/rendering/RenderLayerScrollableArea.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h

  Log Message:
  ---
  [UI-side compositng] Use ScrollbarsController base class to avoid 
NSScrollerImp usage
https://bugs.webkit.org/show_bug.cgi?id=253684
rdar://106531543

Reviewed by Simon Fraser.

Have FrameView and RenderLayerScrollable area hold a base class 
ScrollbarsController
to avoid having NSScrollerImps in the WebProcess.

* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::usesUISideCompositing const):
* Source/WebCore/page/FrameView.cpp:
(WebCore::FrameView::didAddScrollbar):
* Source/WebCore/page/FrameView.h:
* Source/WebCore/platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollbarsController const):
(WebCore::ScrollableArea::didAddScrollbar):
* Source/WebCore/platform/ScrollableArea.h:
* Source/WebCore/platform/ScrollbarsController.h:
* Source/WebCore/platform/mac/ScrollbarsControllerProxyMac.h: Added.
* Source/WebCore/platform/mac/ScrollbarsControllerProxyMac.mm: Added.
(WebCore::ScrollbarsController::createProxy):
(WebCore::ScrollbarsControllerProxyMac::ScrollbarsControllerProxyMac):
(WebCore::ScrollbarsControllerProxyMac::~ScrollbarsControllerProxyMac):
* Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::createScrollbar):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::usesUISideCompositing const):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:

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


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


[webkit-changes] [WebKit/WebKit] e0dffb: Add test function to expose if in UI-side composit...

2023-03-26 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e0dffb1d363adaafa15acaadff7272d3af1d62a4
  
https://github.com/WebKit/WebKit/commit/e0dffb1d363adaafa15acaadff7272d3af1d62a4
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-26 (Sun, 26 Mar 2023)

  Changed paths:
A LayoutTests/fast/scrolling/ios/ui-side-compositing-check-expected.txt
A LayoutTests/fast/scrolling/ios/ui-side-compositing-check.html
M Source/WebCore/page/ChromeClient.h
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h

  Log Message:
  ---
  Add test function to expose if in UI-side compositing mode
https://bugs.webkit.org/show_bug.cgi?id=254288
rdar://107078044

Reviewed by Simon Fraser.

Add test function to expose if in UI-side compositing mode.

* LayoutTests/fast/scrolling/ios/ui-side-compositing-check-expected.txt: Added.
* LayoutTests/fast/scrolling/ios/ui-side-compositing-check.html: Added.
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::isUsingUISideCompositing const):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::isUsingUISideCompositing const):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::isUsingUISideCompositing const):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:

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


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


[webkit-changes] [WebKit/WebKit] b0a888: REGRESSION(261977@main): TestWebKitAPI.ProcessSwap...

2023-03-24 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b0a016324e0191a3569a7f65624b3d0a4b89
  
https://github.com/WebKit/WebKit/commit/b0a016324e0191a3569a7f65624b3d0a4b89
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp

  Log Message:
  ---
  REGRESSION(261977@main): 
TestWebKitAPI.ProcessSwap.ResizeWebViewDuringCrossSiteProvisionalNavigation is 
a constant crash
https://bugs.webkit.org/show_bug.cgi?id=254378
rdar://107161569

Reviewed by Simon Fraser.

Add null checks for ScrollingCoordinator and ScrollingTree.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::viewWillStartLiveResize):
(WebKit::RemoteLayerTreeDrawingAreaProxy::viewWillEndLiveResize):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::viewWillStartLiveResize):
(WebKit::RemoteScrollingCoordinatorProxy::viewWillEndLiveResize):
(WebKit::RemoteScrollingCoordinatorProxy::viewSizeDidChange):

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


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


[webkit-changes] [WebKit/WebKit] 0d254e: [UI-side compositing] Add infrastructure to get sc...

2023-03-24 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d254e93fc60fdfa8b1d64540af11826969c31c6
  
https://github.com/WebKit/WebKit/commit/0d254e93fc60fdfa8b1d64540af11826969c31c6
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.h
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl
M Tools/TestRunnerShared/UIScriptContext/UIScriptController.h
M Tools/WebKitTestRunner/mac/UIScriptControllerMac.h
M Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm

  Log Message:
  ---
  [UI-side compositing] Add infrastructure to get scrollbar state in layout 
tests
https://bugs.webkit.org/show_bug.cgi?id=254372
rdar://107154212

Reviewed by Simon Fraser.

Add UI-script controller function for getting scrollbar state for a scrolling 
tree
node id. Add an internals function for getting the scrolling tree node id from a
node.

* 
LayoutTests/fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html:
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
(WebCore::ScrollingTreeScrollingNodeDelegate::scrollbarStateForOrientation 
const):
* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::scrollbarState const):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::scrollbarStateForOrientation const):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollbarStateForOrientation 
const):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::scrollingNodeIDForNode):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _scrollbarStateForScrollingNodeID:isVertical:]):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::scrollbarStateForScrollingNodeID):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::scrollbarStateForOrientation 
const):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeOverflowScrollingNodeRemoteMac::scrollbarStateForOrientation
 const):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeOverflowScrollingNodeRemoteMac.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::scrollbarStateForScrollingNodeID):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* Tools/TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::scrollbarStateForScrollingNodeID const):
* Tools/WebKitTestRunner/mac/UIScriptControllerMac.h:
* Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::scrollbarStateForScrollingNodeID const):

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


___

[webkit-changes] [WebKit/WebKit] 9389cc: [UI-side compositing] Resizing window doesn't caus...

2023-03-22 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9389cc84fa302b8971ba56ab28396eb79eb33202
  
https://github.com/WebKit/WebKit/commit/9389cc84fa302b8971ba56ab28396eb79eb33202
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-22 (Wed, 22 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/ScrollingTree.cpp
M Source/WebCore/page/scrolling/ScrollingTree.h
M Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h
M Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
M Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
M Source/WebKit/UIProcess/DrawingAreaProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
M 
Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp
M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h
M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  ---
  [UI-side compositing] Resizing window doesn't cause scrollbars to show/change 
size
https://bugs.webkit.org/show_bug.cgi?id=253739
rdar://106385267

Reviewed by Simon Fraser.

Hook up ScrollerMac to UI-process resize events so that scrollbars
dynamically resize when resizing window. We should also consider subclassing
ScrollerMac under ScrollbarsControllerMac so we dont duplicate this
NScrollerImp interaction code.

* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::viewWillStartLiveResize):
(WebCore::ScrollingTree::viewWillEndLiveResize):
(WebCore::ScrollingTree::contentsSizeChanged):
* Source/WebCore/page/scrolling/ScrollingTree.h:
* Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.h:
* Source/WebCore/page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
(WebCore::ScrollingTreeScrollingNodeDelegate::viewWillStartLiveResize):
(WebCore::ScrollingTreeScrollingNodeDelegate::viewWillEndLiveResize):
(WebCore::ScrollingTreeScrollingNodeDelegate::contentsSizeChanged):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::viewWillStartLiveResize):
(WebCore::ScrollerPairMac::viewWillEndLiveResize):
(WebCore::ScrollerPairMac::contentsSizeChanged):
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::ScrollingTreeScrollingNodeDelegateMac):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateFromStateNode):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::handleWheelEvent):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::scrollPositionIsNotRubberbandingEdge
 const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsHorizontalStretching 
const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::allowsVerticalStretching 
const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::stretchAmount const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::isPinnedOnSide const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::shouldRubberBandOnSide const):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::updateScrollbarPainters):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::viewWillStartLiveResize):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::viewWillEndLiveResize):
(WebCore::ScrollingTreeScrollingNodeDelegateMac::contentsSizeChanged):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::viewWillStartLiveResize):
(WebKit::RemoteScrollingCoordinatorProxy::viewWillEndLiveResize):
(WebKit::RemoteScrollingCoordinatorProxy::contentsSizeChanged):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.cpp:
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::viewWillStartLiveResize):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::viewWillEndLiveResize):
(WebKit::ScrollingTreeFrameScrollingNodeRemoteMac::contentsSizeChanged):
* 
Source/WebKit/UIProcess/RemoteLayerTree/mac/ScrollingTreeFrameScrollingNodeRemoteMac.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewWillStartLiveResize):
(WebKit::WebPageProxy::viewWillEndLiveResize):
(WebKit::WebPageProxy::contentsSizeChanged):
* 

[webkit-changes] [WebKit/WebKit] ea0d87: REGRESSION: [UI-side compositing] MiniBrowser hang...

2023-03-16 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ea0d87c3bc05c904413201d103925f74548c472c
  
https://github.com/WebKit/WebKit/commit/ea0d87c3bc05c904413201d103925f74548c472c
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-16 (Thu, 16 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h

  Log Message:
  ---
  REGRESSION: [UI-side compositing] MiniBrowser hangs on launch
https://bugs.webkit.org/show_bug.cgi?id=254051
rdar://106832318

Reviewed by Simon Fraser.

ScrollerMac::attach holding a lock causes a deadlock when
called by ScrollerPairMac::init.

* Source/WebCore/page/scrolling/mac/ScrollerMac.h:
* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::attach):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
(WebCore::ScrollerPairMac::scrollerImpPair):
(WebCore::ScrollerPairMac::WTF_REQUIRES_LOCK): Deleted.

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


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


[webkit-changes] [WebKit/WebKit] c936c6: [UI-side compositing] Add lock for accessing NSScr...

2023-03-16 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c936c69128b0cb246f8faa4b7cbebd522c987dc1
  
https://github.com/WebKit/WebKit/commit/c936c69128b0cb246f8faa4b7cbebd522c987dc1
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-16 (Thu, 16 Mar 2023)

  Changed paths:
M Source/WebCore/page/scrolling/mac/ScrollerMac.mm
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.h
M Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm

  Log Message:
  ---
  [UI-side compositing] Add lock for accessing NSScrollerImpPair in 
ScrollerPairMac
https://bugs.webkit.org/show_bug.cgi?id=253984
rdar://106652775

Reviewed by Simon Fraser.

Add locks for use when accessing the NSScrollerImpPair on ScrollerPairMac since
NSScrollerImpPair is not thread safe.

* Source/WebCore/page/scrolling/mac/ScrollerMac.mm:
(WebCore::ScrollerMac::attach):
(WebCore::ScrollerMac::setHostLayer):
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.h:
(WebCore::ScrollerPairMac::WTF_REQUIRES_LOCK):
(WebCore::ScrollerPairMac::WTF_RETURNS_LOCK):
(WebCore::ScrollerPairMac::scrollerImpPair): Deleted.
* Source/WebCore/page/scrolling/mac/ScrollerPairMac.mm:
(WebCore::ScrollerPairMac::init):
(WebCore::ScrollerPairMac::~ScrollerPairMac):
(WebCore::ScrollerPairMac::handleWheelEventPhase):
(WebCore::ScrollerPairMac::handleMouseEvent):
(WebCore::ScrollerPairMac::updateValues):

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


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


[webkit-changes] [WebKit/WebKit] bf3c4d: [UI-side compositing] Fix dynamicDowncast in Remot...

2023-03-09 Thread Nikos Mouchtaris
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bf3c4d5c6bec139ce26eead37cd85343379130d0
  
https://github.com/WebKit/WebKit/commit/bf3c4d5c6bec139ce26eead37cd85343379130d0
  Author: Nikolaos Mouchtaris 
  Date:   2023-03-09 (Thu, 09 Mar 2023)

  Changed paths:
M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm

  Log Message:
  ---
  [UI-side compositing] Fix dynamicDowncast in 
RemoteScrollingTreeMac::handleWheelEventPhase
https://bugs.webkit.org/show_bug.cgi?id=253583
rdar://106420122

Reviewed by Simon Fraser.

Fix dynamicDowncast in RemoteScrollingTreeMac::handleWheelEventPhase.

* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm:
(WebKit::RemoteScrollingTreeMac::handleWheelEventPhase):

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


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


  1   2   >