[webkit-changes] [WebKit/WebKit] 3b443f: [UI-side compositing] Banners on reddit.com flicker
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3b443fc4dfc0c82fdfc5b03256ee52bc5360259d https://github.com/WebKit/WebKit/commit/3b443fc4dfc0c82fdfc5b03256ee52bc5360259d Author: Richard Robinson Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp Log Message: --- [UI-side compositing] Banners on reddit.com flicker https://bugs.webkit.org/show_bug.cgi?id=254644 rdar://104192825 Reviewed by Simon Fraser. With UI-side compositing enabled, the `m_needsApplyLayerPositionsAfterCommit` flag has yet to be properly hooked up, causing it to always be `false`. As a result, `ScrollingTree::applyLayerPositionsAfterCommit` did not actually do anything. The flickering is because the `fixed` element's layer position is never properly updated, since the function that would have done that, `ScrollingTree::applyLayerPositions`, is never actually called from within `ScrollingTree::applyLayerPositionsAfterCommit` due to the reasons mentioned above. This PR fixes this temporarily by making sure the flag is always set so that `ScrollingTree::applyLayerPositions` is called properly. Once UI-side compositing scrolling synchronization is implemented, the flag will be set in a more appropriate place. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::applyScrollingTreeLayerPositionsAfterCommit): Canonical link: https://commits.webkit.org/262261@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dd5da1: Only CPU(X86_64) should do constant blinding.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dd5da1dca9b6eb959a008827c4fbad61c694652e https://github.com/WebKit/WebKit/commit/dd5da1dca9b6eb959a008827c4fbad61c694652e Author: Mark Lam Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/JavaScriptCore/assembler/MacroAssembler.h Log Message: --- Only CPU(X86_64) should do constant blinding. https://bugs.webkit.org/show_bug.cgi?id=254634 Reviewed by Justin Michaud and Yusuke Suzuki. It is not relevant for CPUs with fixed alignment instruction sets. * Source/JavaScriptCore/assembler/MacroAssembler.h: (JSC::MacroAssembler::shouldBlind): Canonical link: https://commits.webkit.org/262260@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] efb63c: [ iOS, macOS ] imported/w3c/web-platform-tests/mat...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: efb63c883136d42cc27a74a44ffe62bebf4c0e99 https://github.com/WebKit/WebKit/commit/efb63c883136d42cc27a74a44ffe62bebf4c0e99 Author: Alan Baradlay Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt M LayoutTests/platform/mac-ventura/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt M LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt Log Message: --- [ iOS, macOS ] imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002.html is a constant text failure. https://bugs.webkit.org/show_bug.cgi?id=254621 Unreviewed rebaselining. * LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: * LayoutTests/platform/mac-ventura/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: * LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: * LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/html5-tree/dynamic-childlist-002-expected.txt: Canonical link: https://commits.webkit.org/262259@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...
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] b70307: [Windows] Fix loading modules from JSC shell
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b7030754b74c7c062b2d1a176c05900bbf7ecaa5 https://github.com/WebKit/WebKit/commit/b7030754b74c7c062b2d1a176c05900bbf7ecaa5 Author: Stephan Szabo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/JavaScriptCore/jsc.cpp Log Message: --- [Windows] Fix loading modules from JSC shell https://bugs.webkit.org/show_bug.cgi?id=254606 Reviewed by Ross Kirsling. We try to use a \\?\ path for loading modules in the shell, but this doesn't seem to work with forward slash directory separators. \\?\D:\foo\bar can work but \\?\D:/foo/bar appears to not do so. The docs imply that using the prefix prevents any of the normal string manipulation that would go on. * Source/JavaScriptCore/jsc.cpp: (fetchModuleFromLocalFileSystem): Canonical link: https://commits.webkit.org/262257@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 613982: Disconnect WKView from its WebViewImpl
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 613982b34447b24cb85747efbf2427a320838f12 https://github.com/WebKit/WebKit/commit/613982b34447b24cb85747efbf2427a320838f12 Author: Alex Christensen Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKView.h M Source/WebKit/UIProcess/API/mac/WKView.mm Log Message: --- Disconnect WKView from its WebViewImpl https://bugs.webkit.org/show_bug.cgi?id=254570 rdar://10720 Reviewed by Tim Horton. WKView.h is proving difficult to remove. It's included by several internal projects that don't use it any more. The ObjC class's existence is necessary for performance testing on Ventura. We don't need to completely remove it. Just disconnect it from its WebViewImpl as a first step, while keeping all the ObjC selectors existing right where they are. Nothing uses it any more, and this should minimize other breakage. * Source/WebKit/UIProcess/API/Cocoa/WKView.h: * Source/WebKit/UIProcess/API/mac/WKView.mm: (-[WKView initWithFrame:processGroup:browsingContextGroup:]): (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]): (-[WKView dealloc]): (-[WKView browsingContextController]): (-[WKView setDrawsBackground:]): (-[WKView drawsBackground]): (-[WKView _backgroundColor]): (-[WKView _setBackgroundColor:]): (-[WKView setDrawsTransparentBackground:]): (-[WKView drawsTransparentBackground]): (-[WKView acceptsFirstResponder]): (-[WKView becomeFirstResponder]): (-[WKView resignFirstResponder]): (-[WKView viewWillStartLiveResize]): (-[WKView viewDidEndLiveResize]): (-[WKView intrinsicContentSize]): (-[WKView prepareContentInRect:]): (-[WKView setFrameSize:]): (-[WKView _setSemanticContext:]): (-[WKView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): (-[WKView writeSelectionToPasteboard:types:]): (-[WKView centerSelectionInVisibleArea:]): (-[WKView validRequestorForSendType:returnType:]): (-[WKView readSelectionFromPasteboard:]): (-[WKView changeFont:]): (-[WKView validateUserInterfaceItem:]): (-[WKView startSpeaking:]): (-[WKView stopSpeaking:]): (-[WKView showGuessPanel:]): (-[WKView checkSpelling:]): (-[WKView changeSpelling:]): (-[WKView toggleContinuousSpellChecking:]): (-[WKView isGrammarCheckingEnabled]): (-[WKView setGrammarCheckingEnabled:]): (-[WKView toggleGrammarChecking:]): (-[WKView toggleAutomaticSpellingCorrection:]): (-[WKView orderFrontSubstitutionsPanel:]): (-[WKView toggleSmartInsertDelete:]): (-[WKView isAutomaticQuoteSubstitutionEnabled]): (-[WKView setAutomaticQuoteSubstitutionEnabled:]): (-[WKView toggleAutomaticQuoteSubstitution:]): (-[WKView isAutomaticDashSubstitutionEnabled]): (-[WKView setAutomaticDashSubstitutionEnabled:]): (-[WKView toggleAutomaticDashSubstitution:]): (-[WKView isAutomaticLinkDetectionEnabled]): (-[WKView setAutomaticLinkDetectionEnabled:]): (-[WKView toggleAutomaticLinkDetection:]): (-[WKView isAutomaticTextReplacementEnabled]): (-[WKView setAutomaticTextReplacementEnabled:]): (-[WKView toggleAutomaticTextReplacement:]): (-[WKView uppercaseWord:]): (-[WKView lowercaseWord:]): (-[WKView capitalizeWord:]): (-[WKView _wantsKeyDownForEvent:]): (-[WKView scrollWheel:]): (-[WKView swipeWithEvent:]): (-[WKView mouseDown:]): (-[WKView mouseUp:]): (-[WKView mouseDragged:]): (-[WKView otherMouseDown:]): (-[WKView otherMouseDragged:]): (-[WKView otherMouseUp:]): (-[WKView rightMouseDown:]): (-[WKView rightMouseDragged:]): (-[WKView rightMouseUp:]): (-[WKView pressureChangeWithEvent:]): (-[WKView acceptsFirstMouse:]): (-[WKView shouldDelayWindowOrderingForEvent:]): (-[WKView doCommandBySelector:]): (-[WKView insertText:]): (-[WKView insertText:replacementRange:]): (-[WKView inputContext]): (-[WKView performKeyEquivalent:]): (-[WKView keyUp:]): (-[WKView keyDown:]): (-[WKView flagsChanged:]): (-[WKView setMarkedText:selectedRange:replacementRange:]): (-[WKView unmarkText]): (-[WKView selectedRange]): (-[WKView hasMarkedText]): (-[WKView markedRange]): (-[WKView attributedSubstringForProposedRange:actualRange:]): (-[WKView characterIndexForPoint:]): (-[WKView firstRectForCharacterRange:actualRange:]): (-[WKView selectedRangeWithCompletionHandler:]): (-[WKView markedRangeWithCompletionHandler:]): (-[WKView hasMarkedTextWithCompletionHandler:]): (-[WKView attributedSubstringForProposedRange:completionHandler:]): (-[WKView firstRectForCharacterRange:completionHandler:]): (-[WKView characterIndexForPoint:completionHandler:]): (-[WKView validAttributesForMarkedText]): (-[WKView draggedImage:endedAt:operation:]): (-[WKView draggingEntered:]): (-[WKView draggingUpdated:]): (-[WKView draggingExited:]): (-[WKView prepareForDragOperation:]): (-[WKView performDragOperation:]): (-[WKView _hitTest:dragTypes:]): (-[WKView _windowResizeMouseLocationIsInVisibleScrollerThumb:]): (-[WKView viewWillMoveToWindow:]): (-[WKView viewDidMoveToWindow]): (-[WKView drawRect:]): (-[WKView isOpaque]): (-[WKView mouseDownCanMoveWindow]): (-[WKView viewDidH
[webkit-changes] [WebKit/WebKit] 77c2d1: [UI side compositing] fast/attachment/mac/wide-att...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 77c2d193bed0131013e3d08e2c07cf8db662e613 https://github.com/WebKit/WebKit/commit/77c2d193bed0131013e3d08e2c07cf8db662e613 Author: Ryosuke Niwa Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/fast/attachment/mac/wide-attachment-element-gpu-process.html Log Message: --- [UI side compositing] fast/attachment/mac/wide-attachment-element-gpu-process.html fails https://bugs.webkit.org/show_bug.cgi?id=254629 Reviewed by Wenson Hsieh. Add a pixel tolerance to allow anti-aliasing difference in the attachment images. * LayoutTests/fast/attachment/mac/wide-attachment-element-gpu-process.html: Canonical link: https://commits.webkit.org/262255@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b25f01: [UI side compositing] attachment-element-gpu-proce...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b25f010caa3bd54b0bc43dec41059ac40e21db48 https://github.com/WebKit/WebKit/commit/b25f010caa3bd54b0bc43dec41059ac40e21db48 Author: Ryosuke Niwa Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/fast/attachment/mac/attachment-element-gpu-process.html Log Message: --- [UI side compositing] attachment-element-gpu-process.html fails https://bugs.webkit.org/show_bug.cgi?id=254628 Reviewed by Wenson Hsieh. Add a pixel tolerance to allow anti-aliasing difference in the attachment images. * LayoutTests/fast/attachment/mac/attachment-element-gpu-process.html: Canonical link: https://commits.webkit.org/262254@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...
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] e233ab: Use smart pointers for ScriptExecutionContext and ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e233ab4568b25c084d63488de1ea116928aadc13 https://github.com/WebKit/WebKit/commit/e233ab4568b25c084d63488de1ea116928aadc13 Author: Chirag M Shah Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WTF/wtf/CheckedRef.h M Source/WTF/wtf/Ref.h M Source/WTF/wtf/RefPtr.h M Source/WTF/wtf/WeakPtr.h M Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp M Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h M Source/WebCore/bindings/js/ScriptModuleLoader.cpp M Source/WebCore/bindings/js/ScriptModuleLoader.h M Source/WebCore/dom/RejectedPromiseTracker.cpp M Source/WebCore/dom/RejectedPromiseTracker.h M Source/WebCore/dom/ScriptExecutionContext.h M Source/WebCore/html/canvas/CanvasRenderingContext.h M Source/WebCore/inspector/InspectorCanvas.cpp M Source/WebCore/inspector/InspectorCanvas.h M Source/WebCore/page/DOMTimer.cpp M Source/WebCore/page/DOMTimer.h Log Message: --- Use smart pointers for ScriptExecutionContext and CanvasRenderingContext (m_context) https://bugs.webkit.org/show_bug.cgi?id=254347 rdar://107142041 Reviewed by Chris Dumez and Ryosuke Niwa. This change adopts Ref's for m_context member variable to align with the smart pointer usage guidelines. * Source/WTF/wtf/CheckedRef.h: (WTF::downcast): * Source/WTF/wtf/Ref.h: (WTF::downcast): * Source/WTF/wtf/RefPtr.h: (WTF::downcast): * Source/WTF/wtf/WeakPtr.h: (WTF::downcast): * Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp: (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks): * Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h: * Source/WebCore/bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::shadowRealmLoader const): (WebCore::ScriptModuleLoader::resolve): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::responseURLFromRequestURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::notifyFinished): * Source/WebCore/bindings/js/ScriptModuleLoader.h: * Source/WebCore/dom/RejectedPromiseTracker.cpp: (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::processQueueSoon): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): (WebCore::RejectedPromiseTracker::reportRejectionHandled): * Source/WebCore/dom/RejectedPromiseTracker.h: * Source/WebCore/dom/ScriptExecutionContext.h: * Source/WebCore/html/canvas/CanvasRenderingContext.h: * Source/WebCore/inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::InspectorCanvas): (WebCore::InspectorCanvas::canvasElement const): (WebCore::InspectorCanvas::scriptExecutionContext const): (WebCore::InspectorCanvas::resolveContext const): (WebCore:: const): (WebCore::InspectorCanvas::canvasChanged): (WebCore::InspectorCanvas::resetRecordingData): (WebCore::InspectorCanvas::buildObjectForCanvas): (WebCore::InspectorCanvas::buildInitialState): * Source/WebCore/inspector/InspectorCanvas.h: * Source/WebCore/page/DOMTimer.cpp: (WebCore::DOMTimerFireState::DOMTimerFireState): (WebCore::DOMTimerFireState::~DOMTimerFireState): Canonical link: https://commits.webkit.org/262252@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d6c454: Remove redundant quirk on ignoring centered text w...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d6c4544acc9602b763d2fc0ffdacea5730bcfab1 https://github.com/WebKit/WebKit/commit/d6c4544acc9602b763d2fc0ffdacea5730bcfab1 Author: Alan Baradlay Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: R LayoutTests/fast/block/legacy-text-align-position-quirk-expected.html R LayoutTests/fast/block/legacy-text-align-position-quirk.html M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebKit/UIProcess/API/C/WKPreferences.cpp M Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h M Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h M Source/WebKitLegacy/mac/WebView/WebPreferences.mm M Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h Log Message: --- Remove redundant quirk on ignoring centered text when positioning https://bugs.webkit.org/show_bug.cgi?id=254608 Reviewed by Simon Fraser. This quirk was originally introduced to support a non-standard text-align behavior on out-of-flow positioned boxes (essentially ignoring 'text-align' on 'position: absolute/fixed'). It was exercised by some old book content but it is not used anymore (see and webkit.org/b/124522 for the original use case). * LayoutTests/fast/block/legacy-text-align-position-quirk-expected.html: Removed. * LayoutTests/fast/block/legacy-text-align-position-quirk.html: Removed. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::outputLineTree const): * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::startAlignedOffsetForLine): * Source/WebKit/UIProcess/API/C/WKPreferences.cpp: (WKPreferencesUseLegacyTextAlignPositionedElementBehavior): Deleted. (WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior): Deleted. * Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h: * Source/WebKitLegacy/mac/WebView/WebPreferences.mm: (-[WebPreferences useLegacyTextAlignPositionedElementBehavior]): Deleted. (-[WebPreferences setUseLegacyTextAlignPositionedElementBehavior:]): Deleted. * Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h: Canonical link: https://commits.webkit.org/262251@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6a3bc9: Cherry-pick 252432.1031@safari-7614-branch (9f7e40...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6a3bc9e418ddb694dee46c4e42a9f2884296bbaa https://github.com/WebKit/WebKit/commit/6a3bc9e418ddb694dee46c4e42a9f2884296bbaa Author: David Degazio Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A JSTests/stress/cell-speculated-array-indexof.js M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp Log Message: --- Cherry-pick 252432.1031@safari-7614-branch (9f7e401c42a8). rdar://107335776 Fix use-after-free in DFGFixupPhase for array indexOf https://bugs.webkit.org/show_bug.cgi?id=250429 rdar://103852510 Reviewed by Jonathan Bedard and Michael Saboff. During DFG fixup, array indexOf nodes are folded to -1 when the search element is speculated to be a different type than the array element (for instance, JSCell instead of Int32). When this happens, a speculation check is inserted, which can cause the DFG graph's varArgChildren array to reallocate. This invalidates the searchElement Edge reference, which we use immediately after the check insertion in the fixup phase. This patch fixes this potential use-after-free by grabbing the searchElement's associated node before inserting any checks, giving us a persistent pointer to a DFG node rather than a reference into a vector. * JSTests/stress/cell-speculated-array-indexof.js: Added. * Source/JavaScriptCore/dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupArrayIndexOf): Canonical link: https://commits.webkit.org/252432.1031@safari-7614-branch Canonical link: https://commits.webkit.org/262250@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 31a8c5: PDF disappears during live-ish resize
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 31a8c572cfb857b5debc12bf63912a7041649ec4 https://github.com/WebKit/WebKit/commit/31a8c572cfb857b5debc12bf63912a7041649ec4 Author: Tim Horton Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm Log Message: --- PDF disappears during live-ish resize https://bugs.webkit.org/show_bug.cgi?id=254623 rdar://105852767 Reviewed by Megan Gardner. * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _beginAutomaticLiveResizeIfNeeded]): Disable live-ish resize for custom content views, which expect to get full-fidelity updates during resize. Canonical link: https://commits.webkit.org/262249@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 621cea: Hulu.com video doesn't play
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 621cea8475c6fd1e080e42afab04cb857c815407 https://github.com/WebKit/WebKit/commit/621cea8475c6fd1e080e42afab04cb857c815407 Author: Jer Noble Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/page/Quirks.cpp M Source/WebCore/page/Quirks.h Log Message: --- Hulu.com video doesn't play https://bugs.webkit.org/show_bug.cgi?id=254605 rdar://106667631 Reviewed by Eric Carlson. Recent changes in the AVFoundation framework have caused canPlayType() queries for `application/vnd.apple.mpegurl; codecs="stpp.ttml.im1t"` and `application/vnd.apple.mpegurl; codecs="wvtt"` to fail. These were never well-formed queries in the first place, as `application/vnd.apple.mpegurl` does not take a codecs parameter. However, Hulu.com appears to depend upon those queries returning "probably" in order to vend a working HLS stream. Add a quirk for hulu.com only which hard codes the answer to those two canPlayType() queries to "probably". * Source/WebCore/html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlayType const): * Source/WebCore/page/Quirks.cpp: (WebCore::Quirks::shouldAdvertiseSupportForHLSSubtitleTypes const): * Source/WebCore/page/Quirks.h: Canonical link: https://commits.webkit.org/262248@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 60f12d: Cherry-pick 252432.1030@safari-7614-branch (433db4...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 60f12d4262f763634991e8c45652c55420be304d https://github.com/WebKit/WebKit/commit/60f12d4262f763634991e8c45652c55420be304d Author: Chris Dumez Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/bindings/js/JSErrorHandler.cpp M Source/WebCore/bindings/js/JSEventListener.cpp M Source/WebCore/bindings/js/JSEventListener.h M Source/WebCore/bindings/js/JSLazyEventListener.cpp M Source/WebCore/bindings/js/WebCoreJSClientData.cpp M Source/WebCore/bindings/js/WebCoreJSClientData.h M Source/WebCore/dom/EventTarget.cpp M Source/WebCore/inspector/CommandLineAPIHost.cpp M Source/WebCore/inspector/WebInjectedScriptHost.cpp M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp Log Message: --- Cherry-pick 252432.1030@safari-7614-branch (433db4f29219). rdar://problem/107335960 Heap use-after-free in DOMWrapperWorld::~DOMWrapperWorld https://bugs.webkit.org/show_bug.cgi?id=246022 rdar://100763856 Reviewed by Jonathan Bedard and Ryosuke Niwa. Right before a worker terminates, it destroys its WorkerOrWorkletScriptController, which destroys the JS VM. Certain objects like DOMWrapperWorld cannot outlive the VM since they keep a `VM&' as data member. However, DOMWrapperWorld is refcounted and JSEventListeners hold a strong ref to their DOMWrapperWorld. If JSEventListeners outlive the VM, then it would lead to a use-after free in the DOMWrapperWorld destructor when destroying those JSEventListeners later on. We have previously made several attempts to try and unregister all event listeners before destroying the VM. However, those attempts were either incomplete or led to other crashes. I am therefore trying a different approach this time. JSEventListeners now register themselves as client of the JSVMClientData (which is owned by the VM) and the client gets a `willDestroyVM()` call before the VM gets destroyed. This allows JSEventListeners to clear out their data members which rely on the VM (DOMWrapperWorld and JSC::Weak data members). * Source/WebCore/bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * Source/WebCore/bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::handleEvent): (WebCore::JSEventListener::functionName const): (WebCore::JSEventListener::willDestroyVM): * Source/WebCore/bindings/js/JSEventListener.h: (WebCore::JSEventListener::isolatedWorld const): (WebCore::JSEventListener::ensureJSFunction const): * Source/WebCore/bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * Source/WebCore/bindings/js/WebCoreJSClientData.cpp: (WebCore::JSVMClientData::~JSVMClientData): * Source/WebCore/bindings/js/WebCoreJSClientData.h: (WebCore::JSVMClientData::addClient): * Source/WebCore/dom/EventTarget.cpp: (WebCore::EventTarget::attributeEventListener): * Source/WebCore/inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::getEventListeners): * Source/WebCore/inspector/WebInjectedScriptHost.cpp: (WebCore::objectForEventTargetListeners): * Source/WebCore/inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForEventListener): Canonical link: https://commits.webkit.org/252432.1030@safari-7614-branch Canonical link: https://commits.webkit.org/262247@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...
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] 1bb6a5: Cherry-pick 259548.8@safari-7615-branch (5a0f792b0...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1bb6a599c3aef0843ff171cb156f008ae1c634a0 https://github.com/WebKit/WebKit/commit/1bb6a599c3aef0843ff171cb156f008ae1c634a0 Author: JC Alvarado Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/fast/backgrounds/background-color-lch-crash-expected.txt A LayoutTests/fast/backgrounds/background-color-lch-crash.html M Source/WebCore/platform/graphics/ColorBlending.cpp Log Message: --- Cherry-pick 259548.8@safari-7615-branch (5a0f792b008f). rdar://10795 Check color opacity after lossy conversion when blending https://bugs.webkit.org/show_bug.cgi?id=251158 rdar://104553839 Reviewed by Dean Jackson. We check opacity to determine if we should forgo blending, however after performing a lossy conversion we can end up with alpha values that result in a division by zero. Add an additional check after conversion to prevent this case. * LayoutTests/fast/backgrounds/background-color-lch-crash-expected.txt: Added. * LayoutTests/fast/backgrounds/background-color-lch-crash.html: Added. * Source/WebCore/platform/graphics/ColorBlending.cpp: (WebCore::blendSourceOver): Canonical link: https://commits.webkit.org/259548.8@safari-7615-branch Canonical link: https://commits.webkit.org/262245@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ee9e30: [UI-side compositing] Two RTL scrolling tests fail
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ee9e3014c93a5302d2d32370ab1b0a8565483cd4 https://github.com/WebKit/WebKit/commit/ee9e3014c93a5302d2d32370ab1b0a8565483cd4 Author: Ryosuke Niwa Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm Log Message: --- [UI-side compositing] Two RTL scrolling tests fail https://bugs.webkit.org/show_bug.cgi?id=254618 Reviewed by Simon Fraser. The bug was caused by the confusion of scroll position vs. offset. Here, we're converting to offset so we need to subtract the scroll origin, which we accomplish by not moving by scroll origin in the first place. * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingTreeMac.mm: (WebKit::RemoteScrollingTreeMac::scrollingNodeForPoint): Canonical link: https://commits.webkit.org/262244@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 563327: [UI-side compositing] RenderListBox scrollbars do ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 563327c0f1c402dee399680de8da20c23de89356 https://github.com/WebKit/WebKit/commit/563327c0f1c402dee399680de8da20c23de89356 Author: Wenson Hsieh Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting-expected-mismatch.html A LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting.html M Source/WebCore/platform/Scrollbar.cpp M Source/WebCore/platform/Scrollbar.h M Source/WebCore/platform/mac/ScrollbarThemeMac.mm Log Message: --- [UI-side compositing] RenderListBox scrollbars do not show https://bugs.webkit.org/show_bug.cgi?id=253750 rdar://106382552 Reviewed by Aditya Keerthi. With UI-side compositing on the painting context does not have a platform CG context so painting the scrollbars does not work. To get around this, draw the scrollbars into a local buffer then draw that buffer into the painting context. Based on a patch by Nikos Mouchtaris. * LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting-expected-mismatch.html: Added. * LayoutTests/fast/forms/select/mac-wk2/listbox-scrollbar-painting.html: Added. Add a regression test to verify that system scrollbars show up in list boxes, with always-on scrollbars enabled. * Source/WebCore/platform/Scrollbar.cpp: (WebCore::Scrollbar::deviceScaleFactor const): * Source/WebCore/platform/Scrollbar.h: * Source/WebCore/platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::paint): (WebCore::scrollerImpPaint): Deleted. Canonical link: https://commits.webkit.org/262243@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f51974: Change InteracitonRegion to hold an IntRect instea...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f51974aa4007bbd070c94d507d472bddd1e95745 https://github.com/WebKit/WebKit/commit/f51974aa4007bbd070c94d507d472bddd1e95745 Author: Megan Gardner Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/interaction-region/aria-roles-expected.txt M LayoutTests/interaction-region/click-handler-dynamically-added-expected.txt M LayoutTests/interaction-region/click-handler-expected.txt M LayoutTests/interaction-region/click-handler-in-shadowed-layer-expected.txt M LayoutTests/interaction-region/consolidated-nested-regions-expected.txt M LayoutTests/interaction-region/event-region-overflow-expected.txt M LayoutTests/interaction-region/full-page-overlay-expected.txt M LayoutTests/interaction-region/icon-inside-button-single-region-expected.txt M LayoutTests/interaction-region/inline-link-dark-background-expected.txt M LayoutTests/interaction-region/inline-link-expected.txt M LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt M LayoutTests/interaction-region/inline-link-in-layer-expected.txt M LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt M LayoutTests/interaction-region/inline-link-with-pointer-events-none-content-expected.txt M LayoutTests/interaction-region/input-type-file-region-expected.txt M LayoutTests/interaction-region/input-type-range-region-expected.txt M LayoutTests/interaction-region/nested-composited-text-painter-expected.txt M LayoutTests/interaction-region/overlap-expected.txt M LayoutTests/interaction-region/overlap-same-group-expected.txt M LayoutTests/interaction-region/overlay-expected.txt M LayoutTests/interaction-region/paused-video-regions-expected.txt M LayoutTests/interaction-region/pseudo-element-expected.txt M LayoutTests/interaction-region/split-inline-link-expected.txt M LayoutTests/interaction-region/wrapped-inline-link-expected.txt M Source/WebCore/page/DebugPageOverlays.cpp M Source/WebCore/page/InteractionRegion.cpp M Source/WebCore/page/InteractionRegion.h M Source/WebCore/rendering/EventRegion.cpp M Source/WebCore/rendering/EventRegion.h M Source/WebCore/rendering/RenderLayerBacking.cpp M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeInteractionRegionLayers.mm Log Message: --- Change InteracitonRegion to hold an IntRect instead of a Region https://bugs.webkit.org/show_bug.cgi?id=254456 rdar://107216144 Reviewed by Tim Horton. InteractionRegion currently has a Region as the way that it holds the data about the interaction. However, Region is a large data structure, and we only ever put a single Rect into it, so to save space and performance, we should switch to just using a Rect instead of a Region. * LayoutTests/interaction-region/aria-roles-expected.txt: * LayoutTests/interaction-region/click-handler-dynamically-added-expected.txt: * LayoutTests/interaction-region/click-handler-expected.txt: * LayoutTests/interaction-region/click-handler-in-shadowed-layer-expected.txt: * LayoutTests/interaction-region/consolidated-nested-regions-expected.txt: * LayoutTests/interaction-region/event-region-overflow-expected.txt: * LayoutTests/interaction-region/full-page-overlay-expected.txt: * LayoutTests/interaction-region/icon-inside-button-single-region-expected.txt: * LayoutTests/interaction-region/inline-link-dark-background-expected.txt: * LayoutTests/interaction-region/inline-link-expected.txt: * LayoutTests/interaction-region/inline-link-in-composited-iframe-expected.txt: * LayoutTests/interaction-region/inline-link-in-layer-expected.txt: * LayoutTests/interaction-region/inline-link-in-non-composited-iframe-expected.txt: * LayoutTests/interaction-region/inline-link-with-pointer-events-none-content-expected.txt: * LayoutTests/interaction-region/input-type-file-region-expected.txt: * LayoutTests/interaction-region/input-type-range-region-expected.txt: * LayoutTests/interaction-region/nested-composited-text-painter-expected.txt: * LayoutTests/interaction-region/overlap-expected.txt: * LayoutTests/interaction-region/overlay-expected.txt: * LayoutTests/interaction-region/paused-video-regions-expected.txt: * LayoutTests/interaction-region/pseudo-element-expected.txt: * LayoutTests/interaction-region/split-inline-link-expected.txt: * LayoutTests/interaction-region/wrapped-inline-link-expected.txt: * Source/WebCore/page/DebugPageOverlays.cpp: (WebCore::pathsForRect): (WebCore::InteractionRegionOverlay::activeRegion const): (WebCore::InteractionRegionOverlay::drawRect): (WebCore::pathsForRegion): Deleted. * Source/WebCore/page/InteractionRegion.cpp: (WebCore::interactionRegionForRenderedRegion): (WebCore::operator<<): * Source/WebCore/page/InteractionRegion.h: (WebCore::operator==): * Source/WebCore/rendering/EventR
[webkit-changes] [WebKit/WebKit] 5bcdab: Cherry-pick 252432.1029@safari-7614-branch (9dda7b...
Branch: refs/heads/webkitglib/2.40 Home: https://github.com/WebKit/WebKit Commit: 5bcdabb358df7868634b33d3d48f6a270e80c157 https://github.com/WebKit/WebKit/commit/5bcdabb358df7868634b33d3d48f6a270e80c157 Author: Yijia Huang Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: A JSTests/wasm/stress/wasm-tuple-return.js M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp Log Message: --- Cherry-pick 252432.1029@safari-7614-branch (9dda7bfe768d). https://bugs.webkit.org/show_bug.cgi?id=250482 LLInt WASM argument locals must be read before return values are written https://bugs.webkit.org/show_bug.cgi?id=250482 rdar://103551585 Reviewed by Justin Michaud. Given the wasm code which exports a wasm function `intFuncRef2` as a js function. ``` (func (export "intFuncRef2") (param $p0 f32) (param $p1 funcref) (result i32 funcref) (i32.const 42) (local.get $p1) (return) ) ``` The corresponding dumped bytecodes show ``` [ 0] enter [ 1] mov dst:loc2, src:42(const0) [ 4] mov dst:loc3, src:loc2 // loc2 contains the funcref but now replaced with 42 [ 7] ret // return [loc2, loc3] ``` which is wrong. Instead we should do ``` [ 0] enter [ 1] mov dst:loc18, src:42(const0) [ 4] mov dst:loc19, src:loc2 [ 7] mov dst:loc2, src:loc18 [ 10] mov dst:loc3, src:loc19 [ 13] ret ``` Note that loc2 is both parameter and return lot. Locals usually need to be materialized on wasm stack when they are about to be or could be clobbered, usually before a control entry, a branch, or redefinition. Previously, Return writes only one value to the result slot that clobber one argument slot which is fine. Since now wasm function can return tuple that might bring us to the situation as shown in above example. We should materialize expression stack when return more than one values. * JSTests/wasm/stress/tuple-return.js: Added. (async test): * Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::addReturn): Canonical link: https://commits.webkit.org/252432.1029@safari-7614-branch Commit: 5bad5db3251c892ca60ff6f06d28479203d63a57 https://github.com/WebKit/WebKit/commit/5bad5db3251c892ca60ff6f06d28479203d63a57 Author: Chris Dumez Date: 2023-03-29 (Wed, 29 Mar 2023) Changed paths: M Source/WebCore/bindings/js/JSErrorHandler.cpp M Source/WebCore/bindings/js/JSEventListener.cpp M Source/WebCore/bindings/js/JSEventListener.h M Source/WebCore/bindings/js/JSLazyEventListener.cpp M Source/WebCore/bindings/js/WebCoreJSClientData.cpp M Source/WebCore/bindings/js/WebCoreJSClientData.h M Source/WebCore/dom/EventTarget.cpp M Source/WebCore/inspector/CommandLineAPIHost.cpp M Source/WebCore/inspector/WebInjectedScriptHost.cpp M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp Log Message: --- Cherry-pick 252432.1030@safari-7614-branch (433db4f29219). https://bugs.webkit.org/show_bug.cgi?id=246022 Heap use-after-free in DOMWrapperWorld::~DOMWrapperWorld https://bugs.webkit.org/show_bug.cgi?id=246022 rdar://100763856 Reviewed by Jonathan Bedard and Ryosuke Niwa. Right before a worker terminates, it destroys its WorkerOrWorkletScriptController, which destroys the JS VM. Certain objects like DOMWrapperWorld cannot outlive the VM since they keep a `VM&' as data member. However, DOMWrapperWorld is refcounted and JSEventListeners hold a strong ref to their DOMWrapperWorld. If JSEventListeners outlive the VM, then it would lead to a use-after free in the DOMWrapperWorld destructor when destroying those JSEventListeners later on. We have previously made several attempts to try and unregister all event listeners before destroying the VM. However, those attempts were either incomplete or led to other crashes. I am therefore trying a different approach this time. JSEventListeners now register themselves as client of the JSVMClientData (which is owned by the VM) and the client gets a `willDestroyVM()` call before the VM gets destroyed. This allows JSEventListeners to clear out their data members which rely on the VM (DOMWrapperWorld and JSC::Weak data members). * Source/WebCore/bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * Source/WebCore/bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::handleEvent): (WebCore::JSEventListener::functionName const): (WebCore::JSEventListener::willDestroyVM): * Source/WebCore/bindings/js/JSEventListener.h: (WebCore::JSEventListener::isolatedWorld const): (WebCore::JSEventListener::ensureJSFunction const): * Source/WebCore/bindings/j
[webkit-changes] [WebKit/WebKit] f3713b: web manifest: implement orientation member parsing
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f3713b3399174f5ce5a32b1e0b8b99a5f9956c7d https://github.com/WebKit/WebKit/commit/f3713b3399174f5ce5a32b1e0b8b99a5f9956c7d Author: Marcos Caceres Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/Modules/applicationmanifest/ApplicationManifest.h M Source/WebCore/Modules/applicationmanifest/ApplicationManifestParser.cpp M Source/WebCore/Modules/applicationmanifest/ApplicationManifestParser.h M Source/WebCore/page/ScreenOrientationLockType.h M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h M Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm M Tools/TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp Log Message: --- web manifest: implement orientation member parsing https://bugs.webkit.org/show_bug.cgi?id=247275 rdar://101770484 Reviewed by Chris Dumez. * Source/WebCore/Modules/applicationmanifest/ApplicationManifest.h: * Source/WebCore/Modules/applicationmanifest/ApplicationManifestParser.cpp: (WebCore::ApplicationManifestParser::parseManifest): (WebCore::ApplicationManifestParser::parseOrientation): * Source/WebCore/Modules/applicationmanifest/ApplicationManifestParser.h: * Source/WebCore/page/ScreenOrientationLockType.h: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h: * Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.mm: (-[_WKApplicationManifest initWithCoder:]): (-[_WKApplicationManifest encodeWithCoder:]): (-[_WKApplicationManifest orientation]): * Tools/TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp: (WebCore::operator<<): (ApplicationManifestParserTest::testOrientation): (TEST_F): Canonical link: https://commits.webkit.org/262241@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9f5775: Remove smart pointer violation in NetworkContentRu...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9f577500830e979799eb12ab38c9a88a2322d0bf https://github.com/WebKit/WebKit/commit/9f577500830e979799eb12ab38c9a88a2322d0bf Author: Arunsundar Kannan Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp M Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h M Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp M Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h M Source/WebKit/NetworkProcess/NetworkProcess.h Log Message: --- Remove smart pointer violation in NetworkContentRuleListManager, LegacyCustomProtocolManager. https://bugs.webkit.org/show_bug.cgi?id=254500. rdar://107255403. Reviewed by Chris Dumez. m_process is using raw references, this changes uses WTF:: Ref. * Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp: (WebKit::LegacyCustomProtocolManager::LegacyCustomProtocolManager): (WebKit::LegacyCustomProtocolManager::startLoading): (WebKit::LegacyCustomProtocolManager::stopLoading): * Source/WebKit/NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h: * Source/WebKit/NetworkProcess/NetworkContentRuleListManager.cpp: (WebKit::NetworkContentRuleListManager::contentExtensionsBackend): * Source/WebKit/NetworkProcess/NetworkContentRuleListManager.h: Canonical link: https://commits.webkit.org/262240@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 126b01: [JSC] Fix Paren Context allocation and use with Du...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 126b01e1d8ac27d37bf0dd8bf5c16423587b2c82 https://github.com/WebKit/WebKit/commit/126b01e1d8ac27d37bf0dd8bf5c16423587b2c82 Author: Michael Saboff Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M JSTests/stress/regexp-duplicate-named-captures.js M Source/JavaScriptCore/yarr/YarrJIT.cpp Log Message: --- [JSC] Fix Paren Context allocation and use with Duplicate Named Capture groups https://bugs.webkit.org/show_bug.cgi?id=254600 rdar://107180725 Reviewed by Yusuke Suzuki. Fixed two issues in the YARR JIT with Paren contextes and duplicate named capture IDs. The first is that we weren't including the space needed for duplicateNamedCaptures in ParenContext::sizeFor(). This could cause us to reuse frame slots. The second issue is that we were restoring the non-existent 0 duplicate named capture in YarrGenerator::restoreParenContext(). Duplicate named capture IDs start at 1. * JSTests/stress/regexp-duplicate-named-captures.js: * Source/JavaScriptCore/yarr/YarrJIT.cpp: Canonical link: https://commits.webkit.org/262239@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ad9f18: Remove use of raw pointers in cachedResourceLoader...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ad9f1876e28f6497dfe297d81d3f396efef6b7dc https://github.com/WebKit/WebKit/commit/ad9f1876e28f6497dfe297d81d3f396efef6b7dc Author: Arunsundar Kannan Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/loader/ApplicationManifestLoader.cpp M Source/WebCore/loader/ApplicationManifestLoader.h M Source/WebCore/loader/cache/CachedResourceLoader.cpp M Source/WebCore/loader/cache/CachedResourceLoader.h M Source/WebCore/loader/icon/IconLoader.cpp M Source/WebCore/loader/icon/IconLoader.h Log Message: --- Remove use of raw pointers in cachedResourceLoader class, IconLoader, ApplicationManifestLoader. https://bugs.webkit.org/show_bug.cgi?id=254437. rdar://107196321. Reviewed by Chris Dumez. Changed m_documentLoader ivar to CheckedPtr/CheckedRef instead of raw pointer.. * Source/WebCore/loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestResource): (WebCore::CachedResourceLoader::clearDocumentLoader): (WebCore::CachedResourceLoader::loadDone): * Source/WebCore/loader/cache/CachedResourceLoader.h: (WebCore::CachedResourceLoader::clearDocumentLoader): Deleted. Canonical link: https://commits.webkit.org/262238@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 978cca: Improve error handling for badging API
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 978ccadf6e0baf1d12fb5d43a1b515ffb45b20e6 https://github.com/WebKit/WebKit/commit/978ccadf6e0baf1d12fb5d43a1b515ffb45b20e6 Author: Marcos Caceres Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/imported/w3c/web-platform-tests/badging/META.yml A LayoutTests/imported/w3c/web-platform-tests/badging/badge-error.https-expected.txt A LayoutTests/imported/w3c/web-platform-tests/badging/badge-error.https.html A LayoutTests/imported/w3c/web-platform-tests/badging/badge-success.https-expected.txt A LayoutTests/imported/w3c/web-platform-tests/badging/badge-success.https.html A LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any-expected.txt A LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.html A LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.js A LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.worker.html A LayoutTests/imported/w3c/web-platform-tests/badging/non-fully-active.https-expected.txt A LayoutTests/imported/w3c/web-platform-tests/badging/non-fully-active.https.html A LayoutTests/imported/w3c/web-platform-tests/badging/w3c-import.log M LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js M LayoutTests/platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt M LayoutTests/platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt M Source/WebCore/page/Navigator.cpp M Source/WebCore/page/WorkerNavigator.cpp M Tools/WebKitTestRunner/TestOptions.cpp Log Message: --- Improve error handling for badging API https://bugs.webkit.org/show_bug.cgi?id=254193 rdar://106969959 Reviewed by Brady Eidson. Adds InvalidStateErrors for promise rejections. Now checks if the document is fully active before setting the badge, and rejects if it's not. * LayoutTests/imported/w3c/web-platform-tests/badging/META.yml: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/badge-error.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/badge-error.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/badge-success.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/badge-success.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.html: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.js: Added. (idl_array.self.GLOBAL.isWorker): * LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.worker-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/idlharness.https.any.worker.html: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/non-fully-active.https-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/non-fully-active.https.html: Added. * LayoutTests/imported/w3c/web-platform-tests/badging/w3c-import.log: Added. * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/navigator/007.js: * LayoutTests/platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/mac-wk2/fast/dom/navigator-detached-no-crash-expected.txt: * LayoutTests/platform/wpe/fast/dom/navigator-detached-no-crash-expected.txt: * Source/WebCore/page/Navigator.cpp: (WebCore::Navigator::setAppBadge): * Source/WebCore/page/WorkerNavigator.cpp: (WebCore::WorkerNavigator::setAppBadge): * Tools/WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Canonical link: https://commits.webkit.org/262237@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 927cb4: [Wasm-GC] Avoid stack consistency checking in LLIn...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 927cb4227a3673e681c36659637e1f5a78cd8f56 https://github.com/WebKit/WebKit/commit/927cb4227a3673e681c36659637e1f5a78cd8f56 Author: Tim Chevalier Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A JSTests/wasm/gc/bug254226.js M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp Log Message: --- [Wasm-GC] Avoid stack consistency checking in LLIntGenerator::addStructNew() https://bugs.webkit.org/show_bug.cgi?id=254226 Reviewed by Justin Michaud. `addStructNew()` was failing in debug mode if called with a non-empty parser stack, because pushing the arguments results in LLInt's view of the stack getting out of sync with the parser's stack. Changed it to use `walkExpressionStack()`, similarly to `addThrow()`. * JSTests/wasm/gc/bug254226.js: Added. (module): (testNestedStruct): * Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::addStructNew): Canonical link: https://commits.webkit.org/262236@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 06dae3: Mark HTMLFastPathParser::processAttribute() as static
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 06dae3ac143d70f6308c7d3c0d71a15a37c209a9 https://github.com/WebKit/WebKit/commit/06dae3ac143d70f6308c7d3c0d71a15a37c209a9 Author: Chris Dumez Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/html/parser/HTMLDocumentParserFastPath.cpp Log Message: --- Mark HTMLFastPathParser::processAttribute() as static https://bugs.webkit.org/show_bug.cgi?id=254611 Reviewed by Ryosuke Niwa. Mark HTMLFastPathParser::processAttribute() as static since it does not use any data members. * Source/WebCore/html/parser/HTMLDocumentParserFastPath.cpp: (WebCore::HTMLFastPathParser::processAttribute): Canonical link: https://commits.webkit.org/262235@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e1f872: Cherry-pick 259548.3@safari-7615-branch (e8f723331...
Branch: refs/heads/webkitglib/2.40 Home: https://github.com/WebKit/WebKit Commit: e1f8721fd722f0f6f037b1eeeabd0a7ee79383fd https://github.com/WebKit/WebKit/commit/e1f8721fd722f0f6f037b1eeeabd0a7ee79383fd Author: David Li Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/animations/animation-set-effect-expected.txt A LayoutTests/animations/animation-set-effect.html M Source/WebCore/animation/CSSAnimation.cpp Log Message: --- Cherry-pick 259548.3@safari-7615-branch (e8f7233310fd). Cherry-pick 252432.1013@safari-7614-branch (1d545c7ebfef). rdar://104831379 [Web Animations] CSSAnimation::setBindingsEffect should also add KeyFrames to overriddenProperties rdar://102137788 Reviewed by Jonathan Bedard and Antoine Quint. * LayoutTests/animations/animation-set-effect-expected.txt: Added. * LayoutTests/animations/animation-set-effect.html: Added. * Source/WebCore/animation/CSSAnimation.cpp: (WebCore::CSSAnimation::setBindingsEffect): Canonical link: https://commits.webkit.org/252432.1013@safari-7614-branch Canonical link: https://commits.webkit.org/259548.3@safari-7615-branch Commit: 0972ae7e98ea650024cd118d6f4603e2891ad744 https://github.com/WebKit/WebKit/commit/0972ae7e98ea650024cd118d6f4603e2891ad744 Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/streams/blob-and-then-expected.txt A LayoutTests/streams/blob-and-then.html M Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp M Source/WebCore/Modules/streams/ReadableStreamSink.cpp Log Message: --- Cherry-pick 259548.6@safari-7615-branch (1b17df7c2063). Cherry-pick 252432.1018@safari-7614-branch (792c09f18dc7). rdar://103649054 Use-after-free in FetchBodyConsumer::resolve https://bugs.webkit.org/show_bug.cgi?id=249996 rdar://103649054 Reviewed by Jonathan Bedard and Alex Christensen. Make sure in FetchBodyConsumer that refed promise/source remain protected. We also revert part of an unnecessary and wrong change from https://trac.webkit.org/changeset/227760. This makes sure ReadableStreamToSharedBufferSink callback remains valid until completely executed in close case, as was the case in error case. We use std::exchange instead of move as it is more semantically correct. Covered by added test. * LayoutTests/streams/blob-and-then-expected.txt: Added. * LayoutTests/streams/blob-and-then.html: Added. * Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::resolveWithFormData): (WebCore::FetchBodyConsumer::consumeFormDataAsStream): (WebCore::FetchBodyConsumer::resolve): * Source/WebCore/Modules/streams/ReadableStreamSink.cpp: (WebCore::ReadableStreamToSharedBufferSink::close): (WebCore::ReadableStreamToSharedBufferSink::error): Canonical link: https://commits.webkit.org/252432.1018@safari-7614-branch Canonical link: https://commits.webkit.org/259548.6@safari-7615-branch Commit: 19fc5d5eee74f299e3b1fa214facc2d4d578d368 https://github.com/WebKit/WebKit/commit/19fc5d5eee74f299e3b1fa214facc2d4d578d368 Author: David Li Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/editing/async-clipboard/clipboard-clear-expected.txt A LayoutTests/editing/async-clipboard/clipboard-clear.html M Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp M Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h Log Message: --- Cherry-pick 259548.7@safari-7615-branch (83422ec49be9). Cherry-pick 252432.1019@safari-7614-branch (1988807a5229). rdar://103307563 [Clipboard] Explicitly call completion on clearing ClipboardItemTypeLoader rdar://103307563 Reviewed by Jonathan Bedard and Wenson Hsieh. In m_itemTypeLoaders.clear(), ClipboardItemBindingsDataSource::invokeCompletionHandler() is called after all m_itemTypeLoaders released and traverses the itemTypeLoaders after itemTypeLoaders is clear but before the size is updated, causing nullptr accessment. So we should explicitly call completion before itemTypeLoader is released. * LayoutTests/editing/async-clipboard/clipboard-clear-expected.txt: Added. * LayoutTests/editing/async-clipboard/clipboard-clear.html: Added. * Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::clearItemTypeLoaders): (WebCore::ClipboardItemBindingsDataSource::collectDataForWriting): (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::~ClipboardItemTypeLoader): * Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h:
[webkit-changes] [WebKit/WebKit] f8e263: Fix build failure from 262184@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f8e263dc172cc53fd017d2da5bca6cbfd71016f8 https://github.com/WebKit/WebKit/commit/f8e263dc172cc53fd017d2da5bca6cbfd71016f8 Author: Etienne Segonzac Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm Log Message: --- Fix build failure from 262184@main https://bugs.webkit.org/show_bug.cgi?id=254613 Reviewed by Megan Gardner and Tim Horton. Finish rebasing on top of 261552@main. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h: * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::encode const): (WebKit::RemoteLayerBackingStoreProperties::decode): Encode / decode the backing store's type. (WebKit::RemoteLayerBackingStoreProperties::applyBackingStoreToLayer): Canonical link: https://commits.webkit.org/262234@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3d1454: Unreviewed crash fix for Windows Debug
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3d14545676fe78a6e2e8067347f226f03ac78712 https://github.com/WebKit/WebKit/commit/3d14545676fe78a6e2e8067347f226f03ac78712 Author: Fujii Hironori Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/JavaScriptCore/jit/CCallHelpers.h Log Message: --- Unreviewed crash fix for Windows Debug https://bugs.webkit.org/show_bug.cgi?id=254573 The following assertion were failing for Windows Debug. > ASSERTION FAILED: currentGPRArgument >= GPRInfo::numberOfArgumentRegisters || > currentFPRArgument >= FPRInfo::numberOfArgumentRegisters > Source\JavaScriptCore\jit\CCallHelpers.h(371) : > JSC::CCallHelpers::calculatePokeOffset This assertion isn't valid for Windows. Conditioned out the assertion for Windows. * Source/JavaScriptCore/jit/CCallHelpers.h: (JSC::CCallHelpers::calculatePokeOffset): Canonical link: https://commits.webkit.org/262233@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ae8a0c: [Wasm-GC] Implement `array.new_canon_elem`
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ae8a0c58784a39fadc317595352e30e7e998449a https://github.com/WebKit/WebKit/commit/ae8a0c58784a39fadc317595352e30e7e998449a Author: Tim Chevalier Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A JSTests/wasm/gc/array_new_elem.js M JSTests/wasm/wasm.json M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp M Source/JavaScriptCore/wasm/WasmExceptionType.h M Source/JavaScriptCore/wasm/WasmFunctionParser.h M Source/JavaScriptCore/wasm/WasmInstance.cpp M Source/JavaScriptCore/wasm/WasmInstance.h M Source/JavaScriptCore/wasm/WasmLLIntBuiltin.h M Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp M Source/JavaScriptCore/wasm/WasmOperations.cpp M Source/JavaScriptCore/wasm/WasmOperations.h M Source/JavaScriptCore/wasm/WasmOperationsInlines.h M Source/JavaScriptCore/wasm/WasmSectionParser.cpp M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp M Source/JavaScriptCore/wasm/wasm.json Log Message: --- [Wasm-GC] Implement `array.new_canon_elem` https://bugs.webkit.org/show_bug.cgi?id=251338 Reviewed by Justin Michaud. Implement the `array.new_canon_elem` instruction, which creates a new array initialized from an element segment (as specified in the GC proposal MVP). Also add a modified version of the array spec tests with references to bugs for all the remaining features that aren't implemented. * JSTests/wasm/gc/array_new_elem.js: Added. (module): (check): (checkDataSegmentIndex): (testArrayNewCanonElem): (testArrayNewCanonElemExternref): (testBadTypeIndex): (testNonArrayType): (testImmutableArrayType): (testWrongTypeOffset): (testWrongTypeSize): (testNoElementSegments): (testOutOfBoundsElementSegmentIndex): (testTypeMismatch): (testWrongNumberOfArguments): (testInt32Overflow): (testRefCallNullary): (testRefCall): (testIndirectCallNullary): (testIndirectCall): (testAllElementSegmentKinds): (testNullFunctionIndex): (testImportFunctions): (testJSFunctions.imports.string_appeared_here.string_appeared_here): (testJSFunctions): * JSTests/wasm/wasm.json: * Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h: (JSC::Wasm::ExpressionType>::addArrayNewElem): * Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::addArrayNewElem): * Source/JavaScriptCore/wasm/WasmBBQJIT.cpp: * Source/JavaScriptCore/wasm/WasmCallingConvention.h: (JSC::Wasm::WasmCallingConvention::numberOfStackResults const): * Source/JavaScriptCore/wasm/WasmExceptionType.h: (JSC::Wasm::isTypeErrorExceptionType): * Source/JavaScriptCore/wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::addReferencedFunctions): (JSC::Wasm::FunctionParser::parseExpression): * Source/JavaScriptCore/wasm/WasmInstance.cpp: (JSC::Wasm::Instance::copyElementSegment): * Source/JavaScriptCore/wasm/WasmInstance.h: * Source/JavaScriptCore/wasm/WasmLLIntBuiltin.h: * Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::callInformationForCaller): (JSC::Wasm::LLIntGenerator::addArrayNewElem): * Source/JavaScriptCore/wasm/WasmOperations.cpp: (JSC::Wasm::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/wasm/WasmOperations.h: * Source/JavaScriptCore/wasm/WasmOperationsInlines.h: (JSC::Wasm::createArrayFromElementSegment): (JSC::Wasm::arrayNewElem): * Source/JavaScriptCore/wasm/WasmSectionParser.cpp: (JSC::Wasm::SectionParser::parseElement): * Source/JavaScriptCore/wasm/WasmSlowPaths.cpp: (JSC::LLInt::WASM_SLOW_PATH_DECL): * Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp: (JSC::Wasm::TypeInformation::signatureForLLIntBuiltin): (JSC::Wasm::TypeInformation::TypeInformation): * Source/JavaScriptCore/wasm/WasmTypeDefinition.h: * Source/JavaScriptCore/wasm/wasm.json: Canonical link: https://commits.webkit.org/262232@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f3a498: Avoid doing event-related work for CSS animation e...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f3a4982bb1a712a260572205d199b16147ce6797 https://github.com/WebKit/WebKit/commit/f3a4982bb1a712a260572205d199b16147ce6797 Author: Chris Dumez Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/animation/DeclarativeAnimation.cpp M Source/WebCore/dom/Document.cpp M Source/WebCore/dom/Document.h M Source/WebCore/dom/EventNames.h Log Message: --- Avoid doing event-related work for CSS animation events when no event listener is registered https://bugs.webkit.org/show_bug.cgi?id=254546 Reviewed by Antoine Quint. * Source/WebCore/animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::invalidateDOMEvents): * Source/WebCore/dom/Document.cpp: (WebCore::Document::addListenerTypeIfNeeded): * Source/WebCore/dom/Document.h: * Source/WebCore/dom/EventNames.h: (WebCore::EventNames::isCSSAnimationEventType const): Canonical link: https://commits.webkit.org/262231@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 661f8e: Revert [261851@main] Add a debug mode for adjustin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 661f8ec450bf0f7e667ca106cc955e8230bddc45 https://github.com/WebKit/WebKit/commit/661f8ec450bf0f7e667ca106cc955e8230bddc45 Author: Charlie Wolfe Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/dom/Document.cpp Log Message: --- Revert [261851@main] Add a debug mode for adjusting URL for bindings https://bugs.webkit.org/show_bug.cgi?id=254100 rdar://106885457 Unreviewed revert. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/dom/Document.cpp: (WebCore::Document::urlForBindings const): Canonical link: https://commits.webkit.org/262230@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] abafb8: Cherry-pick 252432.1018@safari-7614-branch (792c09...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: abafb86e06cff4ef87143bef6ce7f56e4f6f6415 https://github.com/WebKit/WebKit/commit/abafb86e06cff4ef87143bef6ce7f56e4f6f6415 Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/streams/blob-and-then-expected.txt A LayoutTests/streams/blob-and-then.html M Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp M Source/WebCore/Modules/streams/ReadableStreamSink.cpp Log Message: --- Cherry-pick 252432.1018@safari-7614-branch (792c09f18dc7). rdar://107315556 Use-after-free in FetchBodyConsumer::resolve https://bugs.webkit.org/show_bug.cgi?id=249996 rdar://103649054 Reviewed by Jonathan Bedard and Alex Christensen. Make sure in FetchBodyConsumer that refed promise/source remain protected. We also revert part of an unnecessary and wrong change from https://trac.webkit.org/changeset/227760. This makes sure ReadableStreamToSharedBufferSink callback remains valid until completely executed in close case, as was the case in error case. We use std::exchange instead of move as it is more semantically correct. Covered by added test. * LayoutTests/streams/blob-and-then-expected.txt: Added. * LayoutTests/streams/blob-and-then.html: Added. * Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::resolveWithFormData): (WebCore::FetchBodyConsumer::consumeFormDataAsStream): (WebCore::FetchBodyConsumer::resolve): * Source/WebCore/Modules/streams/ReadableStreamSink.cpp: (WebCore::ReadableStreamToSharedBufferSink::close): (WebCore::ReadableStreamToSharedBufferSink::error): Canonical link: https://commits.webkit.org/252432.1018@safari-7614-branch Canonical link: https://commits.webkit.org/262229@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 72ed5e: Avoid some string allocations in JSStringJoiner::j...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 72ed5e715480a97da6c55be10cd6c058287df888 https://github.com/WebKit/WebKit/commit/72ed5e715480a97da6c55be10cd6c058287df888 Author: Chris Dumez Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/JavaScriptCore/runtime/JSStringJoiner.h M Source/WTF/wtf/text/StringView.h Log Message: --- Avoid some string allocations in JSStringJoiner::join() https://bugs.webkit.org/show_bug.cgi?id=254594 Reviewed by Yusuke Suzuki. Avoid some string allocations in JSStringJoiner::join(), in the common case where the StringViewWithUnderlyingString's view covers the whole underlying string. * Source/JavaScriptCore/runtime/JSStringJoiner.h: (JSC::JSStringJoiner::join): * Source/WTF/wtf/text/StringView.h: (WTF::StringViewWithUnderlyingString::toString const): Canonical link: https://commits.webkit.org/262228@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 494321: Cherry-pick 252432.1019@safari-7614-branch (198880...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4943210909a2aeabf7c1e4c8be389b48761078c9 https://github.com/WebKit/WebKit/commit/4943210909a2aeabf7c1e4c8be389b48761078c9 Author: David Li Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/editing/async-clipboard/clipboard-clear-expected.txt A LayoutTests/editing/async-clipboard/clipboard-clear.html M Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp M Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h Log Message: --- Cherry-pick 252432.1019@safari-7614-branch (1988807a5229). rdar://107319167 [Clipboard] Explicitly call completion on clearing ClipboardItemTypeLoader rdar://103307563 Reviewed by Jonathan Bedard and Wenson Hsieh. In m_itemTypeLoaders.clear(), ClipboardItemBindingsDataSource::invokeCompletionHandler() is called after all m_itemTypeLoaders released and traverses the itemTypeLoaders after itemTypeLoaders is clear but before the size is updated, causing nullptr accessment. So we should explicitly call completion before itemTypeLoader is released. * LayoutTests/editing/async-clipboard/clipboard-clear-expected.txt: Added. * LayoutTests/editing/async-clipboard/clipboard-clear.html: Added. * Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::clearItemTypeLoaders): (WebCore::ClipboardItemBindingsDataSource::collectDataForWriting): (WebCore::ClipboardItemBindingsDataSource::ClipboardItemTypeLoader::~ClipboardItemTypeLoader): * Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.h: Canonical link: https://commits.webkit.org/252432.1019@safari-7614-branch Canonical link: https://commits.webkit.org/262227@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d9f105: REGRESSION (262146@main): TestWGSL.WGSLASTDumperTe...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d9f105bb73af2ccf3a0a3d5325913aba08347cbd https://github.com/WebKit/WebKit/commit/d9f105bb73af2ccf3a0a3d5325913aba08347cbd Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Tools/TestWebKitAPI/Tests/WGSL/ASTStringDumperTests.cpp Log Message: --- REGRESSION (262146@main): TestWGSL.WGSLASTDumperTests.dumpTriangleVert is failing https://bugs.webkit.org/show_bug.cgi?id=254596 rdar://107320480 Unreviewed, simple test fix. The test relies on the serialization of the AST, and I changed the serialization of vector types from `VecN` to `vecN`. Just update the test to reflect the change. * Tools/TestWebKitAPI/Tests/WGSL/ASTStringDumperTests.cpp: (TestWGSLAPI::TEST): Canonical link: https://commits.webkit.org/262226@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d25d5b: [UI-side compositing] imported/w3c/web-platform-te...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d25d5bb70da246cd792fdffbbd1561c2a4bc0759 https://github.com/WebKit/WebKit/commit/d25d5bb70da246cd792fdffbbd1561c2a4bc0759 Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp Log Message: --- [UI-side compositing] imported/w3c/web-platform-tests/webcodecs/videoFrame-texImage.any.html fails https://bugs.webkit.org/show_bug.cgi?id=254581 rdar://106116371 Reviewed by Eric Carlson. Disable the fast path until we are able to do ARGB/BGRA to YUV conversion in GPUProcess via pixel conformer API. * Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp: (WebCore::isVideoFrameFormatEligibleToCopy): Canonical link: https://commits.webkit.org/262225@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2b9589: [IFC] Fix fast/repaint/block-layout-inline-childre...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2b9589e4e698907f82728d4f07a32b50721568d7 https://github.com/WebKit/WebKit/commit/2b9589e4e698907f82728d4f07a32b50721568d7 Author: Alan Baradlay Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/fast/inline/out-of-flow-inline-with-float-and-text-align-on-last-line-expected.html A LayoutTests/fast/inline/out-of-flow-inline-with-float-and-text-align-on-last-line.html M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp Log Message: --- [IFC] Fix fast/repaint/block-layout-inline-children-float-positioned.html https://bugs.webkit.org/show_bug.cgi?id=254565 Reviewed by Antti Koivisto. 1. floats not only move line boxes but they also shrink them 2. text-align offset logic is based on the line box's width (adjusted by the potentially intrusive floats) * LayoutTests/fast/inline/out-of-flow-inline-with-float-and-text-align-on-last-line-expected.html: Added. * LayoutTests/fast/inline/out-of-flow-inline-with-float-and-text-align-on-last-line.html: Added. * Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp: (WebCore::Layout::InlineFormattingGeometry::contentLeftAfterLastLine const): Canonical link: https://commits.webkit.org/262224@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1c3218: WebSWServerConnection::scheduleJobInServer should ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1c3218b592f05af0ec5be48a2f69635e6974d5cb https://github.com/WebKit/WebKit/commit/1c3218b592f05af0ec5be48a2f69635e6974d5cb Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp Log Message: --- WebSWServerConnection::scheduleJobInServer should check that the job data's top level origin is valid https://bugs.webkit.org/show_bug.cgi?id=254572 rdar://107063897 Reviewed by Alex Christensen. Adding a connection check that it is fine for this WebProcess to access the top level origin. * Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::scheduleJobInServer): Canonical link: https://commits.webkit.org/262223@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4dc62c: HTML Comments after are placed at the bott...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4dc62c7c9b46afea3f1ebda36f85d13dcd158ee8 https://github.com/WebKit/WebKit/commit/4dc62c7c9b46afea3f1ebda36f85d13dcd158ee8 Author: Anne van Kesteren Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/editing/selection/doubleclick-crash-expected.txt M LayoutTests/html5lib/resources/webkit01.dat M LayoutTests/platform/gtk/editing/selection/doubleclick-crash-expected.txt M Source/WebCore/html/parser/HTMLTreeBuilder.cpp M Source/WebCore/html/parser/HTMLTreeBuilder.h Log Message: --- HTML Comments after are placed at the bottom of the contents https://bugs.webkit.org/show_bug.cgi?id=79273 rdar://95557786 Reviewed by Ryosuke Niwa. Consume whitespace in the "after body" and "after after body" modes so following comments get inserted after the body element. Tests are from https://chromium.googlesource.com/chromium/src/+/9a75bc03766976f883731f08d52ae70204f94caa%5E%21/ and contrary to the assertion there do not pass in WebKit today. * LayoutTests/editing/selection/doubleclick-crash-expected.txt: * LayoutTests/html5lib/resources/webkit01.dat: * LayoutTests/platform/gtk/editing/selection/doubleclick-crash-expected.txt: * Source/WebCore/html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::consumeAndInsertWhitespace): Abstracts a common operation. (WebCore::HTMLTreeBuilder::processCharacterBuffer): (WebCore::HTMLTreeBuilder::processTokenInForeignContent): * Source/WebCore/html/parser/HTMLTreeBuilder.h: Canonical link: https://commits.webkit.org/26@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 53f231: [GStreamer][WebCodec] Gardening after 262208@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 53f231e103d66aac687d2e8831c1e1a288f72970 https://github.com/WebKit/WebKit/commit/53f231e103d66aac687d2e8831c1e1a288f72970 Author: Philippe Normand Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/platform/glib/TestExpectations A LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp9_p2-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp9_p2-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any.worker_vp9_p2-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any_vp9_p2-expected.txt A LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt Log Message: --- [GStreamer][WebCodec] Gardening after 262208@main https://bugs.webkit.org/show_bug.cgi?id=254593 Unreviewed. full-cycle tests fail slightly differently than on the Apple ports. reconfiguring-encoder pass on GStreamer but not on Apple ports. videoFrame-construction still fails, but doesn't time out as on Apple ports. * LayoutTests/platform/glib/TestExpectations: * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp9_p2-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp9_p2-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any.worker_vp9_p2-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/reconfiguring-encoder.https.any_vp9_p2-expected.txt: Added. * LayoutTests/platform/glib/imported/w3c/web-platform-tests/webcodecs/videoFrame-construction.any-expected.txt: Added. Canonical link: https://commits.webkit.org/262221@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2ccbd2: REGRESSION (262120@main): [UI-side compositing] co...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2ccbd299a0e00fd319ff707903b287c637db81b2 https://github.com/WebKit/WebKit/commit/2ccbd299a0e00fd319ff707903b287c637db81b2 Author: Simon Fraser Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm Log Message: --- REGRESSION (262120@main): [UI-side compositing] compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html crashes https://bugs.webkit.org/show_bug.cgi?id=254567 rdar://107291066 Reviewed by Tim Horton. Convert the assertion added in 262120@main to some logging, because some layout tests with many layers hit it due to hitting the timeout in `RemoteImageBufferProxy::ensureBackendCreated()`. * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: (WebKit::RemoteLayerBackingStore::encode const): This affected: compositing/hidpi-non-simple-compositing-layer-with-fractional-size-and-background.html fast/layers/hidpi-transform-on-child-content-is-mispositioned.html fast/sub-pixel/compositing-layers-on-subpixel-position.html Canonical link: https://commits.webkit.org/262220@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4a4f09: Use DOMCacheEngine::CrossThreadRecord in CacheStor...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4a4f090090cbb3536a67f10cdbcf0851e64f276a https://github.com/WebKit/WebKit/commit/4a4f090090cbb3536a67f10cdbcf0851e64f276a Author: Sihui Liu Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/Modules/cache/CacheStorageConnection.h M Source/WebCore/Modules/cache/DOMCache.cpp M Source/WebCore/Modules/cache/DOMCacheEngine.cpp M Source/WebCore/Modules/cache/DOMCacheEngine.h M Source/WebCore/Modules/cache/WorkerCacheStorageConnection.cpp M Source/WebCore/Modules/cache/WorkerCacheStorageConnection.h M Source/WebCore/page/CacheStorageProvider.h M Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp M Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h Log Message: --- Use DOMCacheEngine::CrossThreadRecord in CacheStorageConnection https://bugs.webkit.org/show_bug.cgi?id=254430 rdar://107290770 Reviewed by Youenn Fablet. This would simplify the code a bit. * Source/WebCore/Modules/cache/CacheStorageConnection.h: * Source/WebCore/Modules/cache/DOMCache.cpp: (WebCore::DOMCache::queryCache): (WebCore::DOMCache::batchPutOperation): * Source/WebCore/Modules/cache/DOMCacheEngine.cpp: (WebCore::DOMCacheEngine::CrossThreadRecord::isolatedCopy): * Source/WebCore/Modules/cache/DOMCacheEngine.h: * Source/WebCore/Modules/cache/WorkerCacheStorageConnection.cpp: (WebCore::isolatedCopyCrossThreadRecordsOrError): (WebCore::WorkerCacheStorageConnection::retrieveRecords): (WebCore::WorkerCacheStorageConnection::retrieveRecordsCompleted): (WebCore::WorkerCacheStorageConnection::batchPutOperation): (WebCore::toCrossThreadRecordData): Deleted. (WebCore::fromCrossThreadRecordData): Deleted. (WebCore::recordsDataFromRecords): Deleted. (WebCore::recordsDataOrErrorFromRecords): Deleted. (WebCore::recordsFromRecordsData): Deleted. (WebCore::recordsOrErrorFromRecordsData): Deleted. * Source/WebCore/Modules/cache/WorkerCacheStorageConnection.h: * Source/WebCore/page/CacheStorageProvider.h: * Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp: (WebKit::WebCacheStorageConnection::retrieveRecords): (WebKit::WebCacheStorageConnection::batchPutOperation): * Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h: Canonical link: https://commits.webkit.org/262219@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 637780: Migrate ContentFilterUnblockHandler to new seriali...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 637780036cfcbe9a8a8a6927d11bcbe74061a37e https://github.com/WebKit/WebKit/commit/637780036cfcbe9a8a8a6927d11bcbe74061a37e Author: Alex Christensen Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj A Source/WebCore/PAL/pal/spi/cocoa/NSKeyedUnarchiverSPI.h M Source/WebCore/platform/ContentFilterUnblockHandler.h M Source/WebCore/platform/cocoa/ContentFilterUnblockHandlerCocoa.mm M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.h M Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm Log Message: --- Migrate ContentFilterUnblockHandler to new serialization format https://bugs.webkit.org/show_bug.cgi?id=254568 Reviewed by Per Arne Vollan and Andy Estes. *.serialization.in generated serialization exposes metadata to the IPC test API. * Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: * Source/WebCore/PAL/pal/spi/cocoa/NSKeyedUnarchiverSPI.h: Added. * Source/WebCore/platform/ContentFilterUnblockHandler.h: (WebCore::ContentFilterUnblockHandler::unblockedAfterRequest const): * Source/WebCore/platform/cocoa/ContentFilterUnblockHandlerCocoa.mm: (WebCore::ContentFilterUnblockHandler::ContentFilterUnblockHandler): (WebCore::ContentFilterUnblockHandler::webFilterEvaluatorData const): (WebCore::ContentFilterUnblockHandler::unpackWebFilterEvaluatorData): (WebCore::ContentFilterUnblockHandler::requestUnblockAsync const): (WebCore::ContentFilterUnblockHandler::setUnblockedAfterRequest): (WebCore::ContentFilterUnblockHandler::encode const): Deleted. (WebCore::ContentFilterUnblockHandler::decode): Deleted. * Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in: * Source/WebKit/Shared/WebCoreArgumentCoders.h: * Source/WebKit/Shared/mac/WebCoreArgumentCodersMac.mm: (IPC::ArgumentCoder::encode): Deleted. (IPC::ArgumentCoder::decode): Deleted. Canonical link: https://commits.webkit.org/262218@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f73dcb: hasTrimmedMargin should return false for out of fl...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f73dcb9ce6b70f402f0eaf7202a6d682cd68b011 https://github.com/WebKit/WebKit/commit/f73dcb9ce6b70f402f0eaf7202a6d682cd68b011 Author: Sammy Gill Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/rendering/RenderBox.cpp Log Message: --- hasTrimmedMargin should return false for out of flow boxes https://bugs.webkit.org/show_bug.cgi?id=254540 rdar://107277206 Reviewed by Alan Baradlay. The margin-trim spec says that the property only applies to in-flow boxes and floats, so the hasTrimmedMargin functions should return false if the call to isInFlow returns false. Without this test cases may trigger an assert in the code that guards the rest of the logic in the functions. css3/flexbox/insert-text-crash is an example of a test case that would trigger the assert due to the absolutely positioned box. * Source/WebCore/rendering/RenderBox.cpp: (WebCore::RenderBox::hasTrimmedMargin const): Canonical link: https://commits.webkit.org/262217@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] afadc0: Document Quirks.cpp with original bugs
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: afadc0ae8b648d26066c9e5481fb5ec3bed40e33 https://github.com/WebKit/WebKit/commit/afadc0ae8b648d26066c9e5481fb5ec3bed40e33 Author: Karl Dubost Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/page/Quirks.cpp Log Message: --- Document Quirks.cpp with original bugs https://bugs.webkit.org/show_bug.cgi?id=254389 rdar://107167633 Reviewed by Ryosuke Niwa and Alexey Proskuryakov. Quirks.cpp has a lot of history. Code rewriting makes it hard to find the origin of a quirks and understand how to properly test it again. By documenting with the appropriate bugzilla bug or radar issue number, it makes it easier for engineers to find again the steps to reproduce and understand if the quirk is still needed. * Source/WebCore/page/Quirks.cpp: Canonical link: https://commits.webkit.org/262216@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7df0ac: REGRESSION(261943@main) [iOS] media/video-object-f...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7df0acc2c3c3436563b3e80fa6e102be458927fc https://github.com/WebKit/WebKit/commit/7df0acc2c3c3436563b3e80fa6e102be458927fc Author: Jer Noble Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.h M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm Log Message: --- REGRESSION(261943@main) [iOS] media/video-object-fit.html failing https://bugs.webkit.org/show_bug.cgi?id=254560 rdar://107290418 Reviewed by Eric Carlson. Revert more parts of 260575@main. In 260575@main, a call to didCommit() in PlatformCALayerRemote::recursiveBuildTransaction() was removed to force the compositor to send the new properties up to the UIProcess (rather than just apply them locally). And this worked as intended so long as "no remote hosting from the WebContent process" was enabled. However, as soon as an off-by-default runtime check was added in 261943@main, the removal of didCommit() caused all layer properties to be applied _both_ in the UIProcess _and_ the WebContent process, which for videos whose contents' aspect ratio did not match their own, caused them to be pushed partially or completely out of frame. It also broke the media/video-object-fit.html test. Add a parallel runtime check that only calls didCommit() when we are on the legacy path for video content. * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp: (WebKit::PlatformCALayerRemote::recursiveBuildTransaction): * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.h: * Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm: (WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): Canonical link: https://commits.webkit.org/262215@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9b7000: [IFC] Issue repaint on newly positioned float boxes
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9b70002cb7e5a4eb6d6b032d368da579add9c2e8 https://github.com/WebKit/WebKit/commit/9b70002cb7e5a4eb6d6b032d368da579add9c2e8 Author: Alan Baradlay Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A LayoutTests/fast/repaint/float-box-appears-and-no-inline-content-expected.txt A LayoutTests/fast/repaint/float-box-appears-and-no-inline-content.html M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp Log Message: --- [IFC] Issue repaint on newly positioned float boxes https://bugs.webkit.org/show_bug.cgi?id=254569 Reviewed by Antti Koivisto. Floats are not part of the repaintTop/bottom pair returned by inline layout. * LayoutTests/fast/repaint/float-box-appears-and-no-inline-content-expected.txt: Added. * LayoutTests/fast/repaint/float-box-appears-and-no-inline-content.html: Added. * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::updateRenderTreePositions): Canonical link: https://commits.webkit.org/262214@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d7569a: LayoutTests/imported/w3c/web-platform-tests/stream...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d7569a3a43f8c3222628f8d3494afecc4d902f5f https://github.com/WebKit/WebKit/commit/d7569a3a43f8c3222628f8d3494afecc4d902f5f Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: R LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general-expected.txt Log Message: --- LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general-expected.txt is no longer needed https://bugs.webkit.org/show_bug.cgi?id=254584 rdar://problem/107314616 Unreviewed. * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/general-expected.txt: Removed. Canonical link: https://commits.webkit.org/262213@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3c19d4: Optimize createJSHTMLWrapper()
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3c19d495573e7ad837bd534108d28ea4e7a1eef1 https://github.com/WebKit/WebKit/commit/3c19d495573e7ad837bd534108d28ea4e7a1eef1 Author: Chris Dumez Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/dom/make_names.pl Log Message: --- Optimize createJSHTMLWrapper() https://bugs.webkit.org/show_bug.cgi?id=254564 Reviewed by Yusuke Suzuki. Optimize createJSHTMLWrapper() by using a switch statement and leveraging the fairly recently added ElementName enumeration. The previous code was relying on a HashMap which has some extra cost associated with hashing and dealing with hash collisions. It also relied on function pointers which made inlining harder. * Source/WebCore/dom/make_names.pl: (printFactoryCppFile): (printWrapperFactoryCppFile): Canonical link: https://commits.webkit.org/262212@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] eda7c8: [IFC] Fix imported/w3c/web-platform-tests/css/css-...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: eda7c8257fb440133f32a650021c22baffd4869f https://github.com/WebKit/WebKit/commit/eda7c8257fb440133f32a650021c22baffd4869f Author: Alan Baradlay Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.h Log Message: --- [IFC] Fix imported/w3c/web-platform-tests/css/css-text/text-indent/text-indent-with-absolute-pos-child.html https://bugs.webkit.org/show_bug.cgi?id=254561 Reviewed by Antti Koivisto. This is in preparation for supporting out-of-flow/float content only. In such cases text-indent needs to know that there's no line at all in this block container. * Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp: (WebCore::Layout::InlineFormattingGeometry::contentLeftAfterLastLine const): (WebCore::Layout::InlineFormattingGeometry::staticPositionForOutOfFlowInlineLevelBox const): * Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.h: Canonical link: https://commits.webkit.org/262211@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d2424c: [GTK] Use DMABuf and WebKit IPC for rendering inst...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d2424c0fc67f6a46921edb52874720bb99c0c699 https://github.com/WebKit/WebKit/commit/d2424c0fc67f6a46921edb52874720bb99c0c699 Author: Carlos Garcia Campos Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/PlatformGTK.cmake M Source/WebCore/SourcesGTK.txt M Source/WebCore/platform/graphics/PlatformDisplay.cpp M Source/WebCore/platform/graphics/PlatformDisplay.h M Source/WebCore/platform/graphics/egl/GLContext.cpp M Source/WebCore/platform/graphics/egl/GLContext.h M Source/WebCore/platform/graphics/egl/GLContextLibWPE.cpp M Source/WebCore/platform/graphics/egl/GLContextWayland.cpp M Source/WebCore/platform/graphics/egl/GLContextX11.cpp A Source/WebCore/platform/graphics/egl/PlatformDisplayHeadless.cpp A Source/WebCore/platform/graphics/egl/PlatformDisplayHeadless.h M Source/WebKit/PlatformGTK.cmake M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp M Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h M Source/WebKit/Shared/WebProcessCreationParameters.cpp M Source/WebKit/Shared/WebProcessCreationParameters.h M Source/WebKit/SourcesGTK.txt M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp M Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp M Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp A Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp A Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.h A Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.messages.in M Source/WebKit/WebProcess/WebPage/AcceleratedSurface.cpp M Source/WebKit/WebProcess/WebPage/AcceleratedSurface.h M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h A Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.cpp A Source/WebKit/WebProcess/WebPage/gtk/AcceleratedSurfaceDMABuf.h M Source/WebKit/WebProcess/WebProcess.h M Source/WebKit/WebProcess/glib/WebProcessGLib.cpp Log Message: --- [GTK] Use DMABuf and WebKit IPC for rendering instead of wpe/x11 https://bugs.webkit.org/show_bug.cgi?id=252988 Reviewed by Žan Doberšek. Instead of the wpe rendered, which uses a nested wayland compositor, and x11, which uses a redirected xcomposite window, we can make the web process render always into a pbuffer using mesa surfaceless platform and export the rendered texture using DMAbuf to be consumed by the UI process. This way the rendering is independent from the platform (wayland/x11), and in the UI process we just import the DMABuf into a texture that we pass to GTK for rendering into the web view widget. If under X11 GTK uses GLX instead of EGL we manually import the DMABuf using libgbm to create a cairo surface that we can pass to GTK without using GL. * Source/WebCore/PlatformGTK.cmake: * Source/WebCore/SourcesGTK.txt: * Source/WebCore/platform/graphics/PlatformDisplay.cpp: (WebCore::PlatformDisplay::initializeEGLDisplay): * Source/WebCore/platform/graphics/PlatformDisplay.h: * Source/WebCore/platform/graphics/egl/GLContextEGL.cpp: (WebCore::GLContextEGL::getEGLConfig): (WebCore::GLContextEGL::createWindowContext): (WebCore::GLContextEGL::createPbufferContext): (WebCore::GLContextEGL::createSurfacelessContext): (WebCore::GLContextEGL::createContext): (WebCore::GLContextEGL::createSharingContext): * Source/WebCore/platform/graphics/egl/GLContextEGL.h: * Source/WebCore/platform/graphics/egl/GLContextEGLLibWPE.cpp: (WebCore::GLContextEGL::createWPEContext): * Source/WebCore/platform/graphics/egl/GLContextEGLWayland.cpp: (WebCore::GLContextEGL::createWaylandContext): * Source/WebCore/platform/graphics/egl/GLContextEGLX11.cpp: (WebCore::GLContextEGL::createPixmapContext): * Source/WebCore/platform/graphics/egl/PlatformDisplayHeadless.cpp: Added. (WebCore::PlatformDisplayHeadless::create): (WebCore::PlatformDisplayHeadless::PlatformDisplayHeadless): (WebCore::PlatformDisplayHeadless::~PlatformDisplayHeadless): * Source/WebCore/platform/graphics/egl/PlatformDisplayHeadless.h: Added. * Source/WebKit/PlatformGTK.cmake: * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp: (WebKit::ThreadedCompositor::createGLContext): (WebKit::ThreadedCompositor::invalidate): * Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h: * Source/WebKit/Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode): * Source/WebKit/Shared/WebProcessCreationParameters.h: * Source/WebKit/SourcesGTK.txt: * Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp: (WebKit::WebKitProto
[webkit-changes] [WebKit/WebKit] 20c777: [IFC] Decouple in- and out-of-flow type of layout ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 20c7771a586d5b278920935986b21867bd6988bb https://github.com/WebKit/WebKit/commit/20c7771a586d5b278920935986b21867bd6988bb Author: Alan Baradlay Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp Log Message: --- [IFC] Decouple in- and out-of-flow type of layout (static position for out-of-flow) https://bugs.webkit.org/show_bug.cgi?id=254550 Reviewed by Antti Koivisto. This is in preparation for being able to layout content when only float and out-of-flow boxes are present (strictly speaking we should only initiate IFC layout when there's at least one out-of-flow box with display inline). * Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp: (WebCore::Layout::InlineFormattingContext::layoutInFlowAndFloatContentForIntegration): (WebCore::Layout::InlineFormattingContext::layoutOutOfFlowContentForIntegration): (WebCore::Layout::InlineFormattingContext::layoutFloatContentOnly): (WebCore::Layout::InlineFormattingContext::layoutInFlowContentForIntegration): Deleted. * Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.h: * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::layout): Canonical link: https://commits.webkit.org/262209@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5e2242: Resync WPT webcodecs tests up to 7c9c76e
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5e2242acde16dba1fb0944798b0c000615a5d74b https://github.com/WebKit/WebKit/commit/5e2242acde16dba1fb0944798b0c000615a5d74b Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/resources/resource-files.json M LayoutTests/imported/w3c/web-platform-tests/webcodecs/README.md M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-decoder.crossOriginIsolated.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder-config.https.any.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audio-encoder.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.worker_adts_aac-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.worker_mp3-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.worker_mp4_aac-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.worker_opus-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.worker_pcm_alaw-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.worker_pcm_mulaw-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any_adts_aac-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any_mp3-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any_mp4_aac-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any_opus-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any_pcm_alaw-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any_pcm_mulaw-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/four-colors-flip.avif M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.js M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_av1-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h264_annexb-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_h264_avc-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp8-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp9_p0-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any.worker_vp9_p2-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_av1-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h264_annexb-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_h264_avc-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp8-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp9_p0-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webcodecs/full-cycle-test.https.any_vp9_p2-expected.txt A LayoutTests/imported/w3c/web-platform-tests/webcodecs/idlharness.https.any-expected.txt A LayoutTests/imported/w3c/web-platform-tests/webcodecs/idlharness.https.any.html A LayoutTests/imported/w3c/web-platform-tests/webcodecs/idlharness.https.any.js A LayoutTests/imported/w3c/web-platform-tests/webcodecs/idlharness.https.any.worker-expected.txt A LayoutTests/imported/w3c/web-platform-tests/webcodecs/idlharness.https.any.worker.html M LayoutTests/imported/w3c/web-platform-tests/webcodecs/image-decoder.https.any.js A LayoutTests/imported/w3c/web-platform-tests/webcodecs/per-frame-qp-encoding.https.any.html A LayoutTests/imported/w3c/web-platform-tests/webcodecs/per-frame-qp-encoding.https.any.js A LayoutTests/imported/w3c/web-platform-tests/webcodecs/per-frame-qp-encoding.https.any.worker.html A LayoutTests/imported/w3c/web-platform-tests/webcodecs/per-frame-qp-encoding.https.any.worker_av1-e
[webkit-changes] [WebKit/WebKit] f8ae40: ReadableStreamDefaultReader.releaseLock is now rej...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f8ae40c2a74e011f18e55e4164be9fa90949d4aa https://github.com/WebKit/WebKit/commit/f8ae40c2a74e011f18e55e4164be9fa90949d4aa Author: Youenn Fablet Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any.sharedworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.serviceworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.sharedworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.worker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any.serviceworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any.sharedworker-expected.txt M LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any.worker-expected.txt M Source/WebCore/Modules/streams/ReadableStreamDefaultReader.js M Source/WebCore/Modules/streams/ReadableStreamInternals.js Log Message: --- ReadableStreamDefaultReader.releaseLock is now rejecting pending read promises https://bugs.webkit.org/show_bug.cgi?id=254511 rdar://problem/107263837 Reviewed by Alex Christensen. Update ReadableStreamDefaultReader.releaseLock accoding latest specification, https://streams.spec.whatwg.org/#default-reader-release-lock. * LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-byte-streams/general.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.serviceworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/default-reader.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any.serviceworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/streams/readable-streams/templated.any.worker-expected.txt: * Source/WebCore/Modules/streams/ReadableStreamDefaultReader.js: (releaseLock): * Source/WebCore/Modules/streams/ReadableStreamInternals.js: (readableStreamError): (readableStreamDefaultReaderRelease): (readableStreamReaderGenericRelease): (readableStreamDefaultReaderErrorReadRequests): Canonical link: https://commits.webkit.org/262207@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1ab895: [WGSL] Add code generation for textureSample and vecN
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1ab895ba0e34293c52f4600f84a96ba7802fba8d https://github.com/WebKit/WebKit/commit/1ab895ba0e34293c52f4600f84a96ba7802fba8d Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp Log Message: --- [WGSL] Add code generation for textureSample and vecN https://bugs.webkit.org/show_bug.cgi?id=254433 rdar://107193052 Reviewed by Myles C. Maxfield. Add code in MetalFunctionWriter to rewrite `sampleTexture(t, s, ...)` into `t.sample(s, ...)` and alias `vecN` to `floatN`. Eventually we might want to perform these manipulations in a separate phase, but for now this should work. * Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp: (WGSL::Metal::visitArguments): (WGSL::Metal::FunctionDefinitionWriter::visit): Canonical link: https://commits.webkit.org/262206@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c102c8: Unreviewed, reverting r262134@main.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c102c839d3d9da2e0c6406593d9f939171d73e83 https://github.com/WebKit/WebKit/commit/c102c839d3d9da2e0c6406593d9f939171d73e83 Author: Commit Queue Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/cmake/WebKitFeatures.cmake Log Message: --- Unreviewed, reverting r262134@main. https://bugs.webkit.org/show_bug.cgi?id=254577 Win DFG has been restabilized Reverted changeset: "JSC: Disable JIT for Windows" https://bugs.webkit.org/show_bug.cgi?id=254478 https://commits.webkit.org/262134@main Canonical link: https://commits.webkit.org/262205@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9b4dfe: [WGSL] Add overloads for textureSample
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9b4dfecb36d9c7e97ca6dc7b489425889d37254b https://github.com/WebKit/WebKit/commit/9b4dfecb36d9c7e97ca6dc7b489425889d37254b Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebGPU/WGSL/Overload.h M Source/WebGPU/WGSL/TypeDeclarations.rb M Source/WebGPU/WGSL/generator/main.rb M Source/WebGPU/WGSL/tests/valid/overload.wgsl Log Message: --- [WGSL] Add overloads for textureSample https://bugs.webkit.org/show_bug.cgi?id=254431 rdar://107190590 Reviewed by Myles C. Maxfield. Add the definitions for the overloads of textureSample that operate on non-depth textures. This requires minor modifications to the DSL to support concrete instances of types that can also be abstract (i.e. Vector and Matrix). The definitions are a little hard to read, and I might revisit it soon, but for now it matches the existing definitions. * Source/WebGPU/WGSL/Overload.h: * Source/WebGPU/WGSL/TypeDeclarations.rb: * Source/WebGPU/WGSL/generator/main.rb: Canonical link: https://commits.webkit.org/262204@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3fa329: Fix @counter-style CSSOM update
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3fa329db6badd1d45b3c3769182fa41059aded67 https://github.com/WebKit/WebKit/commit/3fa329db6badd1d45b3c3769182fa41059aded67 Author: Vitor Roriz Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M LayoutTests/TestExpectations M Source/WebCore/css/CSSCounterStyleDescriptors.cpp M Source/WebCore/css/CSSCounterStyleDescriptors.h M Source/WebCore/css/CSSCounterStyleRegistry.cpp M Source/WebCore/css/CSSCounterStyleRegistry.h M Source/WebCore/css/CSSCounterStyleRule.cpp M Source/WebCore/css/CSSCounterStyleRule.h M Source/WebCore/style/RuleSetBuilder.cpp M Source/WebCore/style/StyleScope.cpp Log Message: --- Fix @counter-style CSSOM update https://bugs.webkit.org/show_bug.cgi?id=254411 rdar://107184142 Reviewed by Antti Koivisto. We were not updating the CounterStyles descriptors when the related CSSOM descriptor was updated. Now, we define setters for each descriptor of CSSCounterStyleDescriptors. The setters at CSSCounterStyleRule still use setterInternal() to set the associated property at StyleProperties. The function setterInternal() was modified to return true if it did set a new value. The function newValueInvalidOrEqual() had a small bug in which it would return symbolsValidForSystem(...). The right thing to do is return !symbolsValidForSystem(...), since it should true for a invalid value. Each setter at CSSCounterStyleRule now returns early if setterInternal() didn't set a value. If it did set a value we proceed to set the associated descriptor stored at the rule with the newly created setters. Ideally, storing only the descriptors would be enough and we could stop storing StyleProperties. This would require definining a serializer for each descriptor and modifying the the CSSCounterStyleRule setters to set the descriptor directly, without modifying the property first. This improvement should come in a separated PR and it was was reported at https://bugs.webkit.org/show_bug.cgi?id=254524 which is tracked by rdar://107267784. Minor change: We are also renaming hasUnresolvedReferences to m_hasUnresolvedReferences, for following webkit's style. * LayoutTests/TestExpectations: * Source/WebCore/css/CSSCounterStyleDescriptors.cpp: (WebCore::translateRangeFromStyleProperties): (WebCore::translateAdditiveSymbolsFromStyleProperties): (WebCore::translatePadFromStyleProperties): (WebCore::translateNegativeSymbolsFromStyleProperties): (WebCore::translateSymbolsFromStyleProperties): (WebCore::translateFallbackNameFromStyleProperties): (WebCore::translatePrefixFromStyleProperties): (WebCore::translateSuffixFromStyleProperties): (WebCore::extractDataFromSystemDescriptor): (WebCore::CSSCounterStyleDescriptors::setNegative): (WebCore::CSSCounterStyleDescriptors::setPrefix): (WebCore::CSSCounterStyleDescriptors::setSuffix): (WebCore::CSSCounterStyleDescriptors::setRanges): (WebCore::CSSCounterStyleDescriptors::setPad): (WebCore::CSSCounterStyleDescriptors::setFallbackName): (WebCore::CSSCounterStyleDescriptors::setSymbols): (WebCore::CSSCounterStyleDescriptors::setAdditiveSymbols): * Source/WebCore/css/CSSCounterStyleDescriptors.h: (WebCore::CSSCounterStyleDescriptors::setName): * Source/WebCore/css/CSSCounterStyleRegistry.cpp: (WebCore::CSSCounterStyleRegistry::resolveReferencesIfNeeded): (WebCore::CSSCounterStyleRegistry::addCounterStyle): (WebCore::CSSCounterStyleRegistry::clearAuthorCounterStyles): (WebCore::CSSCounterStyleRegistry::invalidate): * Source/WebCore/css/CSSCounterStyleRegistry.h: * Source/WebCore/css/CSSCounterStyleRule.cpp: (WebCore::StyleRuleCounterStyle::newValueInvalidOrEqual const): (WebCore::CSSCounterStyleRule::setName): (WebCore::CSSCounterStyleRule::setterInternal): (WebCore::CSSCounterStyleRule::setSystem): (WebCore::CSSCounterStyleRule::setNegative): (WebCore::CSSCounterStyleRule::setPrefix): (WebCore::CSSCounterStyleRule::setSuffix): (WebCore::CSSCounterStyleRule::setRange): (WebCore::CSSCounterStyleRule::setPad): (WebCore::CSSCounterStyleRule::setFallback): (WebCore::CSSCounterStyleRule::setSymbols): (WebCore::CSSCounterStyleRule::setAdditiveSymbols): * Source/WebCore/css/CSSCounterStyleRule.h: * Source/WebCore/style/RuleSetBuilder.cpp: (WebCore::Style::RuleSetBuilder::addMutatingRulesToResolver): * Source/WebCore/style/StyleScope.cpp: (WebCore::Style::Scope::clearResolver): (WebCore::Style::Scope::updateResolver): Canonical link: https://commits.webkit.org/262203@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2ec3bf: [GTK] Add WebKitClipboardPermissionRequest to hand...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2ec3bfdc8377ed6d94254d62ccd5f53f33e47d58 https://github.com/WebKit/WebKit/commit/2ec3bfdc8377ed6d94254d62ccd5f53f33e47d58 Author: Carlos Garcia Campos Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/PlatformGTK.cmake M Source/WebKit/SourcesGTK.txt A Source/WebKit/UIProcess/API/glib/WebKitClipboardPermissionRequest.cpp A Source/WebKit/UIProcess/API/glib/WebKitClipboardPermissionRequest.h.in A Source/WebKit/UIProcess/API/glib/WebKitClipboardPermissionRequestPrivate.h M Source/WebKit/UIProcess/API/glib/webkit.h.in M Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp M Tools/MiniBrowser/gtk/BrowserTab.c M Tools/TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp Log Message: --- [GTK] Add WebKitClipboardPermissionRequest to handle DOM paste access requests https://bugs.webkit.org/show_bug.cgi?id=254510 Reviewed by Michael Catanzaro and Adrian Perez de Castro. * Source/WebKit/PlatformGTK.cmake: * Source/WebKit/SourcesGTK.txt: * Source/WebKit/UIProcess/API/glib/WebKitClipboardPermissionRequest.cpp: Added. (webkitClipboardPermissionRequestAllow): (webkitClipboardPermissionRequestDeny): (webkit_permission_request_interface_init): (webkitClipboardPermissionRequestDispose): (webkit_clipboard_permission_request_class_init): (webkitClipboardPermissionRequestCreate): * Source/WebKit/UIProcess/API/glib/WebKitClipboardPermissionRequest.h.in: Added. * Source/WebKit/UIProcess/API/glib/WebKitClipboardPermissionRequestPrivate.h: Added. * Source/WebKit/UIProcess/API/glib/webkit.h.in: * Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::requestDOMPasteAccess): * Tools/MiniBrowser/gtk/BrowserTab.c: (permissionRequestDialogResponse): (decidePermissionRequest): (browser_tab_class_init): * Tools/TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp: (Clipboard::writeText): (testWebViewClipboardPermissionRequest): (beforeAll): Canonical link: https://commits.webkit.org/262202@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3823da: [JSC] Fix Windows x64 calling convention
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3823da2aaaea23aa24cf344e09f7f4f89118ebc5 https://github.com/WebKit/WebKit/commit/3823da2aaaea23aa24cf344e09f7f4f89118ebc5 Author: Yusuke Suzuki Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/JavaScriptCore/CMakeLists.txt M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h M Source/JavaScriptCore/bytecode/RepatchInlines.h M Source/JavaScriptCore/dfg/DFGJITCompiler.h M Source/JavaScriptCore/dfg/DFGOperations.h M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h M Source/JavaScriptCore/jit/CCallHelpers.h M Source/JavaScriptCore/jit/JIT.h M Source/JavaScriptCore/jit/JITOpcodes.cpp M Source/JavaScriptCore/jit/JITOperations.cpp M Source/JavaScriptCore/jit/JITOperations.h M Source/JavaScriptCore/jit/SlowPathCall.cpp M Source/JavaScriptCore/jit/ThunkGenerators.cpp M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp M Source/JavaScriptCore/llint/LLIntSlowPaths.h M Source/JavaScriptCore/llint/LowLevelInterpreter.cpp M Source/JavaScriptCore/offlineasm/cloop.rb M Source/JavaScriptCore/runtime/CommonSlowPaths.cpp M Source/JavaScriptCore/runtime/CommonSlowPaths.h M Source/JavaScriptCore/runtime/MatchResult.h M Source/JavaScriptCore/runtime/SlowPathFunction.h R Source/JavaScriptCore/runtime/SlowPathReturnType.h A Source/JavaScriptCore/runtime/UGPRPair.h M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp M Source/JavaScriptCore/wasm/WasmSlowPaths.h M Source/JavaScriptCore/yarr/YarrJIT.h Log Message: --- [JSC] Fix Windows x64 calling convention https://bugs.webkit.org/show_bug.cgi?id=254573 rdar://107303745 Reviewed by Ross Kirsling. This patch fixes many bugs in CCallHelpers for Windows x64 to make calling convention code work with paired results. 1. Remove SlowPathReturnType and consistently use UGPRPair instead for all code. 2. Fix many issues in Windows CCallHelpers related to placement of arguments on the stack. 3. Clean up MacroAssemblerX86_64::callWithUGPRPair (Windows only) code. It is handling many calling convention things but it should be done in CCallHelpers instead. * Source/JavaScriptCore/CMakeLists.txt: * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::callWithUGPRPair): (JSC::MacroAssemblerX86_64::callWithSlowPathReturnType): Deleted. * Source/JavaScriptCore/bytecode/RepatchInlines.h: (JSC::handleHostCall): (JSC::linkFor): (JSC::virtualForWithFunction): * Source/JavaScriptCore/dfg/DFGJITCompiler.h: (JSC::DFG::JITCompiler::appendCallWithUGPRPair): * Source/JavaScriptCore/dfg/DFGOperations.h: (JSC::DFG::makeUGPRPair): Deleted. * Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::appendCallWithUGPRPair): (JSC::DFG::SpeculativeJIT::appendCallSetResult): * Source/JavaScriptCore/jit/CCallHelpers.h: (JSC::CCallHelpers::marshallArgumentRegister): (JSC::CCallHelpers::setupArgumentsImpl): * Source/JavaScriptCore/jit/JIT.h: * Source/JavaScriptCore/jit/JITOpcodes.cpp: (JSC::JIT::op_enter_handlerGenerator): * Source/JavaScriptCore/jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/jit/JITOperations.h: * Source/JavaScriptCore/jit/SlowPathCall.cpp: (JSC::JITSlowPathCall::generateThunk): * Source/JavaScriptCore/jit/ThunkGenerators.cpp: (JSC::remoteFunctionCallGenerator): * Source/JavaScriptCore/llint/LLIntSlowPaths.cpp: (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::entryOSR): (JSC::LLInt::llint_link_call): (JSC::LLInt::llint_virtual_call): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallDirectEval): (JSC::LLInt::dispatchToNextInstructionDuringExit): (JSC::LLInt::llint_slow_path_checkpoint_osr_exit_from_inlined_call): (JSC::LLInt::llint_slow_path_checkpoint_osr_exit): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_stack_check_at_vm_entry): (JSC::LLInt::llint_check_vm_entry_permission): * Source/JavaScriptCore/llint/LLIntSlowPaths.h: * Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: (JSC::LLInt::decodeResult): * Source/JavaScriptCore/offlineasm/cloop.rb: * Source/JavaScriptCore/runtime/CommonSlowPaths.cpp: (JSC::iteratorOpenTryFastImpl): (JSC::iteratorNextTryFastImpl): * Source/JavaScriptCore/runtime/CommonSlowPaths.h: * Source/JavaScriptCore/runtime/MatchResult.h: (JSC::MatchResult::MatchResult): * Source/JavaScriptCore/runtime/SlowPathFunction.h: * Source/JavaScriptCore/runtime/SlowPathReturnType.h: (JSC::makeUGPRPair): (JSC::encodeResult): (JSC::decodeResult): * Source/JavaScriptCore/runtime/UGPRPair.h: Copied from Source/JavaScriptCore/runtime/SlowPathReturnType.h. (JSC::makeUGPRPair): (JSC::encodeResult): (JSC::decodeResult): * Source/JavaScriptCore/wasm/Wa
[webkit-changes] [WebKit/WebKit] 889edf: [WGSL] Textures and samplers shouldn't be references
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 889edf206f1a3946daf6664d6b2e5870c5c9cc28 https://github.com/WebKit/WebKit/commit/889edf206f1a3946daf6664d6b2e5870c5c9cc28 Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebGPU/WGSL/GlobalVariableRewriter.cpp Log Message: --- [WGSL] Textures and samplers shouldn't be references https://bugs.webkit.org/show_bug.cgi?id=254425 rdar://107188253 Reviewed by Myles C. Maxfield. When converting globals to argument buffers, most values become references, but that doesn't apply to textures and samplers. Add logic to check the type of the global instead of unconditionally converting it to a reference. * Source/WebGPU/WGSL/GlobalVariableRewriter.cpp: (WGSL::RewriteGlobalVariables::insertStructs): Canonical link: https://commits.webkit.org/262200@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 47c9e4: [WGSL] Add overload resolution for (non-parameteri...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 47c9e4a9f264797e16760164e913cf7c6aef8abd https://github.com/WebKit/WebKit/commit/47c9e4a9f264797e16760164e913cf7c6aef8abd Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebGPU/WGSL/TypeCheck.cpp Log Message: --- [WGSL] Add overload resolution for (non-parameterized) value constructors https://bugs.webkit.org/show_bug.cgi?id=254419 rdar://107185949 Reviewed by Myles C. Maxfield. This will be used to add support to e.g. vec4(...) * Source/WebGPU/WGSL/TypeCheck.cpp: (WGSL::TypeChecker::visit): Canonical link: https://commits.webkit.org/262199@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1c684c: [WGSL] Add overload resolution tests
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1c684c63e7ce6c72bf6edc54f24c50ef6085d355 https://github.com/WebKit/WebKit/commit/1c684c63e7ce6c72bf6edc54f24c50ef6085d355 Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: A Source/WebGPU/WGSL/tests/valid/overload.wgsl Log Message: --- [WGSL] Add overload resolution tests https://bugs.webkit.org/show_bug.cgi?id=254530 rdar://107270787 Reviewed by Myles C. Maxfield. Add tests to verify that we correctly handle the few overload declarations we currently have. NOTE: this depends on PR #11995 in order for us to run the test, and (for now) the tests must be run manually. * Source/WebGPU/WGSL/tests/valid/overload.wgsl: Added. Canonical link: https://commits.webkit.org/262198@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d463a8: [WGSL] CompoundStatement should introduce a new scope
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d463a81e081d8d8662cb740b7a8c7d04ab34767d https://github.com/WebKit/WebKit/commit/d463a81e081d8d8662cb740b7a8c7d04ab34767d Author: Tadeu Zagallo Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebGPU/WGSL/MangleNames.cpp M Source/WebGPU/WGSL/TypeCheck.cpp A Source/WebGPU/WGSL/tests/valid/scope.wgsl Log Message: --- [WGSL] CompoundStatement should introduce a new scope https://bugs.webkit.org/show_bug.cgi?id=254523 rdar://107267001 Reviewed by Myles C. Maxfield. Two sibling CompooundStatements (blocks) should have their own scopes, and therefore be able to introduce variables with the same name. This patch also includes a test file, which depends on PR #11995 to be executed, and for now can only be executed manually. * Source/WebGPU/WGSL/MangleNames.cpp: (WGSL::NameManglerVisitor::visit): * Source/WebGPU/WGSL/TypeCheck.cpp: (WGSL::TypeChecker::visitFunctionBody): (WGSL::TypeChecker::visit): * Source/WebGPU/WGSL/tests/valid/scope.wgsl: Added. Canonical link: https://commits.webkit.org/262197@main ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e9a1f7: Allow setting a storage limit for all origins
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e9a1f73b15efbe97e1d3a5ea7a5d211c616215a9 https://github.com/WebKit/WebKit/commit/e9a1f73b15efbe97e1d3a5ea7a5d211c616215a9 Author: Sihui Liu Date: 2023-03-28 (Tue, 28 Mar 2023) Changed paths: M Source/WebKit/NetworkProcess/NetworkSession.cpp M Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp M Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h A Source/WebKit/NetworkProcess/storage/NetworkQuotaManager.cpp A Source/WebKit/NetworkProcess/storage/NetworkQuotaManager.h M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h A Source/WebKit/NetworkProcess/storage/OriginQuotaManager.cpp A Source/WebKit/NetworkProcess/storage/OriginQuotaManager.h M Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp M Source/WebKit/NetworkProcess/storage/OriginStorageManager.h R Source/WebKit/NetworkProcess/storage/QuotaManager.cpp R Source/WebKit/NetworkProcess/storage/QuotaManager.h M Source/WebKit/Platform/IPC/WorkQueueMessageReceiver.h M Source/WebKit/Sources.txt M Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h M Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm Log Message: --- Allow setting a storage limit for all origins https://bugs.webkit.org/show_bug.cgi?id=254011 rdar://106792298 Reviewed by Youenn Fablet. Make it possible to set a total quota of all origins based on disk space. This is implemented by adding a setting totalQuotaRatio to WebsiteDataStoreConfiguration. The overall quota of a data store is calculated by: totalDiskSpace * totalQuotaRatio. When this quota is exceeded, network process will evict data (only for data types that are managed by NetworkStorageManager) based on LRU policy. Test: WKWebsiteDataStoreConfiguration.TotalQuotaRatio * Source/WebKit/NetworkProcess/NetworkSession.cpp: (WebKit::createNetworkStorageManager): * Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode): * Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h: * Source/WebKit/NetworkProcess/storage/NetworkQuotaManager.cpp: Added. (WebKit::NetworkQuotaManager::NetworkQuotaManager): (WebKit::NetworkQuotaManager::originUsageUpdated): (WebKit::NetworkQuotaManager::performEvictionIfNeeded): (WebKit::NetworkQuotaManager::originVisited): * Source/WebKit/NetworkProcess/storage/NetworkQuotaManager.h: Copied from Source/WebKit/Platform/IPC/WorkQueueMessageReceiver.h. * Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp: (WebKit::NetworkStorageManager::create): (WebKit::NetworkStorageManager::NetworkStorageManager): (WebKit::NetworkStorageManager::canHandleTypes): (WebKit::NetworkStorageManager::allManagedTypes): (WebKit::NetworkStorageManager::stopReceivingMessageFromConnection): (WebKit::NetworkStorageManager::writeOriginToFileIfNecessary): (WebKit::NetworkStorageManager::quotaManager): (WebKit::NetworkStorageManager::originStorageManager): (WebKit::NetworkStorageManager::removeOriginStorageManagerIfPossible): (WebKit::NetworkStorageManager::updateOriginModificationTime): (WebKit::NetworkStorageManager::evictDataByTopOrigin): (WebKit::NetworkStorageManager::getOriginDirectory): (WebKit::NetworkStorageManager::requestSpace): * Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h: * Source/WebKit/NetworkProcess/storage/OriginQuotaManager.cpp: Renamed from Source/WebKit/NetworkProcess/storage/QuotaManager.cpp. (WebKit::OriginQuotaManager::create): (WebKit::OriginQuotaManager::OriginQuotaManager): (WebKit::OriginQuotaManager::usage): (WebKit::OriginQuotaManager::requestSpace): (WebKit::OriginQuotaManager::handleRequests): (WebKit::OriginQuotaManager::grantWithCurrentQuota): (WebKit::OriginQuotaManager::usageUpdated): (WebKit::OriginQuotaManager::grantFastPath): (WebKit::OriginQuotaManager::didIncreaseQuota): (WebKit::OriginQuotaManager::resetQuotaUpdatedBasedOnUsageForTesting): (WebKit::OriginQuotaManager::resetQuotaForTesting): (WebKit::OriginQuotaManager::reportedQuota const): * Source/WebKit/NetworkProcess/storage/OriginQuotaManager.h: Renamed from Source/WebKit/NetworkProcess/storage/QuotaManager.h. (WebKit::OriginQuotaManager::create): * Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp: (WebKit::OriginStorageManager::StorageBucket::isActive const): (WebKit::OriginStorageManager::StorageBucket::hasDataInMemory const):