Changeset 284685 in webkit
- Timestamp:
- Oct 22, 2021, 9:04:32 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 deleted
- 15 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt (modified) (3 diffs)
-
LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (modified) (1 diff)
-
Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp (modified) (2 diffs)
-
Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h (modified) (2 diffs)
-
Source/WebCore/page/scrolling/ScrollingStateTree.cpp (modified) (1 diff)
-
Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.cpp (modified) (2 diffs)
-
Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp (modified) (2 diffs)
-
Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (modified) (6 diffs)
-
Tools/TestWebKitAPI/Tests/mac/ScrollingCoordinatorTests.mm (deleted)
-
Tools/TestWebKitAPI/cocoa/TestWKWebView.h (modified) (1 diff)
-
Tools/TestWebKitAPI/cocoa/TestWKWebView.mm (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r284683 r284685 1 2021-10-22 Ayumi Kojima <ayumi_kojima@apple.com> 2 3 Unreviewed, reverting r284654. 4 5 Reverting because this commit caused scrolling tests to fail 6 7 Reverted changeset: 8 9 "Content offset in this codepen when switching tabs" 10 https://bugs.webkit.org/show_bug.cgi?id=231989 11 https://commits.webkit.org/r284654 12 1 13 2021-10-22 Alan Bujtas <zalan@apple.com> 2 14 -
trunk/LayoutTests/tiled-drawing/scrolling/clamp-out-of-bounds-scrolls-expected.txt
r284654 r284685 56 56 57 57 (Frame scrolling node 58 (scroll position 4223 0)59 58 (scrollable area size 785 585) 60 59 (contents size 5008 5021) … … 77 76 78 77 (Frame scrolling node 79 (scroll position 0 4436)78 (scroll position 4223 0) 80 79 (scrollable area size 785 585) 81 80 (contents size 5008 5021) … … 98 97 99 98 (Frame scrolling node 100 (scroll position 42234436)99 (scroll position 0 4436) 101 100 (scrollable area size 785 585) 102 101 (contents size 5008 5021) -
trunk/LayoutTests/tiled-drawing/scrolling/scrolling-tree-after-scroll-expected.txt
r284654 r284685 1 1 2 2 (Frame scrolling node 3 (scroll position 0 3000)4 3 (scrollable area size 785 600) 5 4 (contents size 785 5021) -
trunk/Source/WebCore/ChangeLog
r284684 r284685 1 2021-10-22 Ayumi Kojima <ayumi_kojima@apple.com> 2 3 Unreviewed, reverting r284654. 4 5 Reverting because this commit caused scrolling tests to fail 6 7 Reverted changeset: 8 9 "Content offset in this codepen when switching tabs" 10 https://bugs.webkit.org/show_bug.cgi?id=231989 11 https://commits.webkit.org/r284654 12 1 13 2021-10-22 Simon Fraser <simon.fraser@apple.com> 2 14 -
trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
r284654 r284685 452 452 } 453 453 454 auto* node = m_scrollingStateTree->stateNodeForID(scrollingNodeID);455 if (is<ScrollingStateScrollingNode>(node)) {456 auto& scrollingNode = downcast<ScrollingStateScrollingNode>(*node);457 scrollingNode.syncScrollPosition(scrollPosition);458 }459 460 454 if (scrollingNodeID == frameView.scrollingNodeID()) { 461 455 reconcileScrollingState(frameView, scrollPosition, layoutViewportOrigin, scrollType, ViewportRectStability::Stable, scrollingLayerPositionAction); -
trunk/Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp
r284654 r284685 144 144 } 145 145 146 void ScrollingStateScrollingNode::syncScrollPosition(const FloatPoint& scrollPosition)147 {148 m_scrollPosition = scrollPosition;149 }150 151 146 void ScrollingStateScrollingNode::setScrollOrigin(const IntPoint& scrollOrigin) 152 147 { … … 210 205 m_requestedScrollData = scrollData; 211 206 setPropertyChanged(Property::RequestedScrollPosition); 212 }213 214 bool ScrollingStateScrollingNode::hasScrollPositionRequest() const215 {216 return hasChangedProperty(Property::RequestedScrollPosition) && m_requestedScrollData.requestType == ScrollRequestType::PositionUpdate;217 207 } 218 208 -
trunk/Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h
r284654 r284685 55 55 WEBCORE_EXPORT void setScrollPosition(const FloatPoint&); 56 56 57 // Does not trigger a scrolling tree commit.58 WEBCORE_EXPORT void syncScrollPosition(const FloatPoint&);59 60 57 const IntPoint& scrollOrigin() const { return m_scrollOrigin; } 61 58 WEBCORE_EXPORT void setScrollOrigin(const IntPoint&); … … 81 78 const RequestedScrollData& requestedScrollData() const { return m_requestedScrollData; } 82 79 WEBCORE_EXPORT void setRequestedScrollData(const RequestedScrollData&); 83 84 WEBCORE_EXPORT bool hasScrollPositionRequest() const;85 80 86 81 bool isMonitoringWheelEvents() const { return m_isMonitoringWheelEvents; } -
trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp
r284654 r284685 177 177 if (parentID) { 178 178 if (auto unparentedNode = m_unparentedNodes.take(newNodeID)) { 179 LOG_WITH_STREAM(ScrollingTree, stream << "ScrollingStateTree " << this << " insertNode reattaching node " << newNodeID);179 LOG_WITH_STREAM(ScrollingTree, stream << "ScrollingStateTree " << this << " insertNode " << newNodeID << " getting node from unparented nodes"); 180 180 newNode = unparentedNode.get(); 181 181 nodeWasReattachedRecursive(*unparentedNode); -
trunk/Source/WebCore/page/scrolling/ScrollingTreeFrameScrollingNode.cpp
r284654 r284685 73 73 m_fixedElementsLayoutRelativeToFrame = state.fixedElementsLayoutRelativeToFrame(); 74 74 75 if (state.hasChangedProperty(ScrollingStateNode::Property::LayoutViewport)) 75 if (state.hasChangedProperty(ScrollingStateNode::Property::LayoutViewport)) { 76 76 m_layoutViewport = state.layoutViewport(); 77 updateViewportForCurrentScrollPosition({ }); 78 } 77 79 78 80 if (state.hasChangedProperty(ScrollingStateNode::Property::MinLayoutViewportOrigin)) … … 84 86 if (state.hasChangedProperty(ScrollingStateNode::Property::OverrideVisualViewportSize)) 85 87 m_overrideVisualViewportSize = state.overrideVisualViewportSize(); 86 87 if (state.hasChangedProperty(ScrollingStateNode::Property::LayoutViewport)) {88 // This requires that minLayoutViewportOrigin and maxLayoutViewportOrigin have been updated.89 updateViewportForCurrentScrollPosition({ });90 }91 88 } 92 89 -
trunk/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
r284654 r284685 68 68 if (state.hasChangedProperty(ScrollingStateNode::Property::ScrollPosition)) { 69 69 m_lastCommittedScrollPosition = state.scrollPosition(); 70 if (m_isFirstCommit && !state.has ScrollPositionRequest())70 if (m_isFirstCommit && !state.hasChangedProperty(ScrollingStateNode::Property::RequestedScrollPosition)) 71 71 m_currentScrollPosition = m_lastCommittedScrollPosition; 72 72 } … … 337 337 ts.dumpProperty("last committed scroll position", m_lastCommittedScrollPosition); 338 338 339 if (!m_currentScrollPosition.isZero()) 340 ts.dumpProperty("scroll position", m_currentScrollPosition); 341 342 if (!m_scrollOrigin.isZero()) 339 if (m_scrollOrigin != IntPoint()) 343 340 ts.dumpProperty("scroll origin", m_scrollOrigin); 344 341 -
trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm
r284654 r284685 115 115 return; 116 116 117 LOG_WITH_STREAM(ScrollingTree, stream << "ScrollingCoordinatorMac::commitTreeState: state tree " <<scrollingStateTreeAsText(debugScrollingStateTreeAsTextBehaviors));117 LOG_WITH_STREAM(ScrollingTree, stream << scrollingStateTreeAsText(debugScrollingStateTreeAsTextBehaviors)); 118 118 119 119 auto stateTree = scrollingStateTree()->commit(LayerRepresentation::PlatformLayerRepresentation); -
trunk/Tools/ChangeLog
r284676 r284685 1 2021-10-22 Ayumi Kojima <ayumi_kojima@apple.com> 2 3 Unreviewed, reverting r284654. 4 5 Reverting because this commit caused scrolling tests to fail 6 7 Reverted changeset: 8 9 "Content offset in this codepen when switching tabs" 10 https://bugs.webkit.org/show_bug.cgi?id=231989 11 https://commits.webkit.org/r284654 12 1 13 2021-10-22 Carlos Garcia Campos <cgarcia@igalia.com> 2 14 -
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
r284669 r284685 87 87 0F5651F71FCE4DDC00310FBC /* NoHistoryItemScrollToFragment.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F5651F61FCE4DDB00310FBC /* NoHistoryItemScrollToFragment.mm */; }; 88 88 0F5651F91FCE513500310FBC /* scroll-to-anchor.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 0F5651F81FCE50E800310FBC /* scroll-to-anchor.html */; }; 89 0FEFAF64271FC2CD005704D7 /* ScrollingCoordinatorTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEFAF63271FC2CD005704D7 /* ScrollingCoordinatorTests.mm */; };90 89 0FF1134E22D68679009A81DA /* ScrollViewScrollabilityTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FF1134D22D68679009A81DA /* ScrollViewScrollabilityTests.mm */; }; 91 90 115EB3431EE0BA03003C2C0A /* ViewportSizeForViewportUnits.mm in Sources */ = {isa = PBXBuildFile; fileRef = 115EB3421EE0B720003C2C0A /* ViewportSizeForViewportUnits.mm */; }; … … 1863 1862 0FE447971B76F1E3009498EB /* ParkingLot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParkingLot.cpp; sourceTree = "<group>"; }; 1864 1863 0FEAE3671B7D19CB00CE17F2 /* Condition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Condition.cpp; sourceTree = "<group>"; }; 1865 0FEFAF63271FC2CD005704D7 /* ScrollingCoordinatorTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ScrollingCoordinatorTests.mm; sourceTree = "<group>"; };1866 1864 0FF1134D22D68679009A81DA /* ScrollViewScrollabilityTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ScrollViewScrollabilityTests.mm; sourceTree = "<group>"; }; 1867 1865 0FFC45A41B73EBE20085BD62 /* Lock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Lock.cpp; sourceTree = "<group>"; }; … … 3098 3096 F44A531021B8976900DBB99C /* InstanceMethodSwizzler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InstanceMethodSwizzler.mm; path = ../TestRunnerShared/cocoa/InstanceMethodSwizzler.mm; sourceTree = "<group>"; }; 3099 3097 F44A7D1F268D5C6900B49BB8 /* ImageAnalysisTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ImageAnalysisTests.mm; sourceTree = "<group>"; }; 3098 F44A9AF52649BBDD00E7CB16 /* ImmediateActionTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ImmediateActionTests.h; sourceTree = "<group>"; }; 3100 3099 F44A9AF62649BBDD00E7CB16 /* ImmediateActionTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ImmediateActionTests.mm; sourceTree = "<group>"; }; 3101 3100 F44C79FB20F9E50C0014478C /* ParserYieldTokenPlugIn.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ParserYieldTokenPlugIn.mm; sourceTree = "<group>"; }; … … 4834 4833 9B4F8FA3159D52B1002D9F94 /* HTMLCollectionNamedItem.mm */, 4835 4834 9B26FC6B159D061000CC3765 /* HTMLFormCollectionNamedItem.mm */, 4835 F44A9AF52649BBDD00E7CB16 /* ImmediateActionTests.h */, 4836 4836 F44A9AF62649BBDD00E7CB16 /* ImmediateActionTests.mm */, 4837 4837 C507E8A614C6545B005D6B3B /* InspectorBar.mm */, … … 4853 4853 37C784DE197C8F2E0010A496 /* RenderedImageFromDOMNode.mm */, 4854 4854 3722C8681461E03E00C45D00 /* RenderedImageFromDOMRange.mm */, 4855 0FEFAF63271FC2CD005704D7 /* ScrollingCoordinatorTests.mm */,4856 4855 261516D515B0E60500A2C201 /* SetAndUpdateCacheModel.mm */, 4857 4856 52B8CF9515868CF000281053 /* SetDocumentURI.mm */, … … 5852 5851 CDCFA7AA1E45183200C2433D /* SampleMap.cpp in Sources */, 5853 5852 CE0947372063223B003C9BA0 /* SchemeRegistry.mm in Sources */, 5854 0FEFAF64271FC2CD005704D7 /* ScrollingCoordinatorTests.mm in Sources */,5855 5853 CDC0932B21C872C10030C4B0 /* ScrollingDoesNotPauseMedia.mm in Sources */, 5856 5854 7CCE7F121A411AE600447C4C /* ScrollPinningBehaviors.cpp in Sources */, -
trunk/Tools/TestWebKitAPI/cocoa/TestWKWebView.h
r284654 r284685 140 140 - (void)sendClicksAtPoint:(NSPoint)pointInWindow numberOfClicks:(NSUInteger)numberOfClicks; 141 141 - (void)sendClickAtPoint:(NSPoint)pointInWindow; 142 - (void)wheelEventAtPoint:(CGPoint)pointInWindow wheelDelta:(CGSize)delta;143 142 - (NSWindow *)hostWindow; 144 143 - (void)typeCharacter:(char)character modifiers:(NSEventModifierFlags)modifiers; -
trunk/Tools/TestWebKitAPI/cocoa/TestWKWebView.mm
r284654 r284685 205 205 - (id)objectByEvaluatingJavaScript:(NSString *)script 206 206 { 207 bool callbackComplete= false;207 bool isWaitingForJavaScript = false; 208 208 RetainPtr<id> evalResult; 209 209 [self _evaluateJavaScriptWithoutUserGesture:script completionHandler:[&] (id result, NSError *error) { 210 210 evalResult = result; 211 callbackComplete= true;211 isWaitingForJavaScript = true; 212 212 EXPECT_TRUE(!error); 213 213 if (error) 214 214 NSLog(@"Encountered error: %@ while evaluating script: %@", error, script); 215 215 }]; 216 TestWebKitAPI::Util::run(& callbackComplete);216 TestWebKitAPI::Util::run(&isWaitingForJavaScript); 217 217 return evalResult.autorelease(); 218 218 } … … 220 220 - (id)objectByEvaluatingJavaScriptWithUserGesture:(NSString *)script 221 221 { 222 bool callbackComplete= false;222 bool isWaitingForJavaScript = false; 223 223 RetainPtr<id> evalResult; 224 224 [self evaluateJavaScript:script completionHandler:[&] (id result, NSError *error) { 225 225 evalResult = result; 226 callbackComplete= true;226 isWaitingForJavaScript = true; 227 227 EXPECT_TRUE(!error); 228 228 if (error) 229 229 NSLog(@"Encountered error: %@ while evaluating script: %@", error, script); 230 230 }]; 231 TestWebKitAPI::Util::run(& callbackComplete);231 TestWebKitAPI::Util::run(&isWaitingForJavaScript); 232 232 return evalResult.autorelease(); 233 233 } … … 235 235 - (id)objectByCallingAsyncFunction:(NSString *)script withArguments:(NSDictionary *)arguments error:(NSError **)errorOut 236 236 { 237 bool callbackComplete= false;237 bool isWaitingForJavaScript = false; 238 238 if (errorOut) 239 239 *errorOut = nil; … … 244 244 evalResult = result; 245 245 strongError = error; 246 callbackComplete= true;247 }]; 248 TestWebKitAPI::Util::run(& callbackComplete);246 isWaitingForJavaScript = true; 247 }]; 248 TestWebKitAPI::Util::run(&isWaitingForJavaScript); 249 249 250 250 if (errorOut) … … 863 863 } 864 864 865 - (void)wheelEventAtPoint:(CGPoint)pointInWindow wheelDelta:(CGSize)delta866 {867 RetainPtr<CGEventRef> cgScrollEvent = adoptCF(CGEventCreateScrollWheelEvent(nullptr, kCGScrollEventUnitPixel, 2, delta.height, delta.width, 0));868 869 CGPoint locationInGlobalScreenCoordinates = [[self window] convertPointToScreen:pointInWindow];870 locationInGlobalScreenCoordinates.y = [[[NSScreen screens] objectAtIndex:0] frame].size.height - locationInGlobalScreenCoordinates.y;871 CGEventSetLocation(cgScrollEvent.get(), locationInGlobalScreenCoordinates);872 873 NSEvent* event = [NSEvent eventWithCGEvent:cgScrollEvent.get()];874 [self scrollWheel:event];875 }876 877 865 - (NSWindow *)hostWindow 878 866 {
Note:
See TracChangeset
for help on using the changeset viewer.