[webkit-changes] [WebKit/WebKit] 973d3a: Implement iframe sandboxing with site isolation
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 973d3a5d7447506b2193a201c9efb92ac0fbd8c3 https://github.com/WebKit/WebKit/commit/973d3a5d7447506b2193a201c9efb92ac0fbd8c3 Author: Alex Christensen Date: 2024-09-13 (Fri, 13 Sep 2024) Changed paths: M Source/WebCore/dom/Document.cpp M Source/WebCore/html/HTMLFrameOwnerElement.cpp M Source/WebCore/loader/DocumentLoader.cpp M Source/WebCore/loader/EmptyClients.cpp M Source/WebCore/loader/EmptyFrameLoaderClient.h M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/FrameLoader.h M Source/WebCore/loader/FrameLoaderClient.h M Source/WebCore/loader/PolicyChecker.cpp M Source/WebCore/page/Frame.cpp M Source/WebCore/page/Frame.h M Source/WebCore/page/LocalFrame.cpp M Source/WebCore/page/LocalFrame.h M Source/WebCore/page/Page.cpp M Source/WebCore/page/PageConfiguration.cpp M Source/WebCore/page/PageConfiguration.h M Source/WebCore/svg/graphics/SVGImage.cpp M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/LoadParameters.h M Source/WebKit/Shared/ProvisionalFrameCreationParameters.h M Source/WebKit/Shared/ProvisionalFrameCreationParameters.serialization.in M Source/WebKit/Shared/WebPageCreationParameters.h M Source/WebKit/Shared/WebPageCreationParameters.serialization.in M Source/WebKit/UIProcess/API/APINavigation.h M Source/WebKit/UIProcess/API/APIPageConfiguration.cpp M Source/WebKit/UIProcess/API/APIPageConfiguration.h M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp M Source/WebKit/UIProcess/API/wpe/WPEWebViewLegacy.cpp M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/UIProcess/ios/WKContentView.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKit/UIProcess/playstation/PlayStationWebView.cpp M Source/WebKit/UIProcess/win/WebView.cpp M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp M Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp M Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h M Source/WebKit/WebProcess/WebPage/WebFrame.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm M Source/WebKitLegacy/mac/WebView/WebFrame.mm M Source/WebKitLegacy/mac/WebView/WebView.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- Implement iframe sandboxing with site isolation https://bugs.webkit.org/show_bug.cgi?id=279460 rdar://135438611 Reviewed by Charlie Wolfe. To implement iframe sandboxing with site isolation, the state needs to be sent to the UI process, stored on the WebFrameProxy, then sent to the web content process when a LocalFrame is constructed, then updated as needed. * Source/WebCore/dom/Document.cpp: (WebCore::Document::initSecurityContext): * Source/WebCore/html/HTMLFrameOwnerElement.cpp: (WebCore::HTMLFrameOwnerElement::setSandboxFlags): * Source/WebCore/loader/DocumentLoader.cpp: (WebCore::DocumentLoader::doCrossOriginOpenerHandlingOfResponse): (WebCore::DocumentLoader::continueAfterContentPolicy): (WebCore::DocumentLoader::loadMainResource): * Source/WebCore/loader/EmptyClients.cpp: (WebCore::EmptyFrameLoaderClient::updateSandboxFlags): (WebCore::pageConfigurationWithEmptyClients): * Source/WebCore/loader/EmptyFrameLoaderClient.h: * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): (WebCore::createWindow): (WebCore::FrameLoader::effectiveSandboxFlags const): Deleted. * Source/WebCore/loader/FrameLoader.h: * Source/WebCore/loader/FrameLoaderClient.h: * Source/WebCore/loader/PolicyChecker.cpp: (WebCore::PolicyChecker::checkNavigationPolicy): (WebCore::PolicyChecker::checkNewWindowPolicy): * Source/WebCore/page/Frame.cpp: (WebCore::Frame::updateEffectiveSandboxFlags): * Source/WebCore/page/Frame.h: * Source/WebCore
[webkit-changes] [WebKit/WebKit] 8d63cb: Stop using namespace std
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8d63cb9b8808f4617a9d0812704c59bb268a2f03 https://github.com/WebKit/WebKit/commit/8d63cb9b8808f4617a9d0812704c59bb268a2f03 Author: Alex Christensen Date: 2024-09-13 (Fri, 13 Sep 2024) Changed paths: M Source/ThirdParty/ANGLE/src/common/tls.cpp M Source/WTF/icu/unicode/numfmt.h M Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp M Source/WebKitLegacy/ios/WebCoreSupport/WebFixedPositionContent.mm M Source/WebKitLegacy/ios/WebView/WebPDFViewIOS.mm M Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp M Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm M Tools/TestWebKitAPI/Tests/WTF/MediaTime.cpp M Tools/TestWebKitAPI/Tests/WebKit/Geolocation.cpp M Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp M Tools/WebKitTestRunner/TestInvocation.cpp Log Message: --- Stop using namespace std https://bugs.webkit.org/show_bug.cgi?id=279685 rdar://135967673 Reviewed by Matthew Finkel. It causes compile issues with things in other namespaces that have the same names as things in namespace std, such as our span functions. * Source/ThirdParty/ANGLE/src/common/tls.cpp: * Source/WTF/icu/unicode/numfmt.h: * Source/WebCore/platform/graphics/opentype/OpenTypeMathData.cpp: * Source/WebKitLegacy/ios/WebCoreSupport/WebFixedPositionContent.mm: * Source/WebKitLegacy/ios/WebView/WebPDFViewIOS.mm: (-[WebPDFView _computePageRects]): * Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp: * Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm: (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): * Tools/TestWebKitAPI/Tests/WTF/MediaTime.cpp: (TestWebKitAPI::TEST(WTF, MediaTime)): * Tools/TestWebKitAPI/Tests/WebKit/Geolocation.cpp: * Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: * Tools/WebKitTestRunner/TestInvocation.cpp: Canonical link: https://commits.webkit.org/283659@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c2e76f: Update git-webkit conflict to support additional i...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c2e76f6579ddf2b7c0424c7b23405c1a5c1aff38 https://github.com/WebKit/WebKit/commit/c2e76f6579ddf2b7c0424c7b23405c1a5c1aff38 Author: Alex Atwater Date: 2024-09-12 (Thu, 12 Sep 2024) Changed paths: M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/conflict.py M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/conflict_unittest.py Log Message: --- Update git-webkit conflict to support additional integration/ branches https://bugs.webkit.org/show_bug.cgi?id=278562 rdar://129681381 Reviewed by Ryan Haddad. This will now search for updated integration branches when running git-webkit conflict. * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/conflict.py: (Conflict): (Conflict.parser): (Conflict.find_conflict_pr): (Conflict.get_open_integration_prs): (Conflict.main): * Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/conflict_unittest.py: (TestConflict._mock_radar_response): (TestConflict.test_conflict_not_found): (TestConflict.test_conflict_found): Canonical link: https://commits.webkit.org/283569@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 51b8fa: [Site Isolation] Add some tests covering iframe sa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 51b8fa6d46a537290eefc24d9702a8be5dea4297 https://github.com/WebKit/WebKit/commit/51b8fa6d46a537290eefc24d9702a8be5dea4297 Author: Alex Christensen Date: 2024-09-11 (Wed, 11 Sep 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm M Tools/TestWebKitAPI/cocoa/TestWKWebView.h M Tools/TestWebKitAPI/cocoa/TestWKWebView.mm Log Message: --- [Site Isolation] Add some tests covering iframe sandboxing https://bugs.webkit.org/show_bug.cgi?id=279479 rdar://135761965 Reviewed by Charlie Wolfe. I started implementing this for site isolation in a separate PR, https://github.com/WebKit/WebKit/pull/33423 but I decided the test infrastructure was substantial enough for its own PR. * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::siteIsolatedViewAndDelegate): (TestWebKitAPI::TEST(SiteIsolation, PreferencesUpdatesToAllProcesses)): (TestWebKitAPI::TEST(SiteIsolation, ParentOpener)): (TestWebKitAPI::TEST(SiteIsolation, ChildBeingNavigatedToMainFrameDomainByParent)): (TestWebKitAPI::TEST(SiteIsolation, ChildBeingNavigatedToSameDomainByParent)): (TestWebKitAPI::TEST(SiteIsolation, RunOpenPanel)): (TestWebKitAPI::TEST(SiteIsolation, AppKitText)): (TestWebKitAPI::TEST(SiteIsolation, SetFocusedFrame)): (TestWebKitAPI::TEST(SiteIsolation, EvaluateJavaScriptInFrame)): (TestWebKitAPI::TEST(SiteIsolation, MainFrameURLAfterFragmentNavigation)): (TestWebKitAPI::TEST(SiteIsolation, CustomUserAgent)): (TestWebKitAPI::TEST(SiteIsolation, ApplicationNameForUserAgent)): (TestWebKitAPI::TEST(SiteIsolation, WebsitePoliciesCustomUserAgent)): (TestWebKitAPI::TEST(SiteIsolation, WebsitePoliciesCustomNavigatorPlatform)): (TestWebKitAPI::TEST(SiteIsolation, ProvisionalLoadFailureOnCrossSiteRedirect)): (TestWebKitAPI::TEST(SiteIsolation, SynchronouslyExecuteEditCommandSelectAll)): (TestWebKitAPI::TEST(SiteIsolation, SelectAll)): (TestWebKitAPI::TEST(SiteIsolation, CanGoBackAfterLoadingAndNavigatingFrame)): (TestWebKitAPI::TEST(SiteIsolation, CanGoBackAfterNavigatingFrameCrossOrigin)): (TestWebKitAPI::TEST(SiteIsolation, NavigateIframeSameOriginBackForward)): (TestWebKitAPI::TEST(SiteIsolation, NavigateIframeCrossOriginBackForward)): (TestWebKitAPI::TEST(SiteIsolation, NavigateNestedIframeSameOriginBackForward)): (TestWebKitAPI::TEST(SiteIsolation, AdvancedPrivacyProtectionsHideScreenMetricsFromBindings)): (TestWebKitAPI::TEST(SiteIsolation, UpdateWebpagePreferences)): (TestWebKitAPI::TEST(SiteIsolation, SandboxFlags)): * Tools/TestWebKitAPI/cocoa/TestWKWebView.h: * Tools/TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView firstChildFrame]): Canonical link: https://commits.webkit.org/283481@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cef82f: Adds a preference for Touch Input Compatibility mode.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cef82f4d61c2baf5923f1e11a3075bf66b44e323 https://github.com/WebKit/WebKit/commit/cef82f4d61c2baf5923f1e11a3075bf66b44e323 Author: Aleksei Marchenko Date: 2024-09-05 (Thu, 05 Sep 2024) Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml Log Message: --- Adds a preference for Touch Input Compatibility mode. https://bugs.webkit.org/show_bug.cgi?id=279199 rdar://135349498 Reviewed by Ada Chan. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: Canonical link: https://commits.webkit.org/283239@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 190465: [Site Isolation] WKWebView.themeColor should only ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 19046570f6e5ccdaf840e4d682749a3d258dc38e https://github.com/WebKit/WebKit/commit/19046570f6e5ccdaf840e4d682749a3d258dc38e Author: Alex Christensen Date: 2024-09-05 (Thu, 05 Sep 2024) Changed paths: M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] WKWebView.themeColor should only be affected by transactions from the main frame https://bugs.webkit.org/show_bug.cgi?id=279139 rdar://134886461 Reviewed by Simon Fraser. Safari uses WKWebView.themeColor to update background color of UI, which currently flickers when site isolation is on because we are getting transactions from cross-site iframes and updating WKWebView.themeColor. This fixes the flicker. It should be cleaned up better by rdar://134885033 I also noticed that WebPageProxy::themeColorChanged is only called directly via IPC on macOS, where we use TiledCoreAnimationDrawingArea so I removed the IPC from other platforms. When we stop using TiledCoreAnimationDrawingArea we can remove it completely. * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::didCommitLayerTree): * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: * Source/WebKit/WebProcess/WebPage/WebPage.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (-[TestObserver observeValueForKeyPath:ofObject:change:context:]): (TestWebKitAPI::TEST(SiteIsolation, ThemeColor)): Canonical link: https://commits.webkit.org/283227@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9be21b: Export GameController framework's symbols.
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9be21b8cdb3f9e35263cf879be5e6bd18c77603b https://github.com/WebKit/WebKit/commit/9be21b8cdb3f9e35263cf879be5e6bd18c77603b Author: Aleksei Marchenko Date: 2024-09-05 (Thu, 05 Sep 2024) Changed paths: M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm Log Message: --- Export GameController framework's symbols. https://bugs.webkit.org/show_bug.cgi?id=279137 rdar://135292828 Reviewed by Brady Eidson. Make GameController framework's symbols available in WebKit. * Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm: Canonical link: https://commits.webkit.org/283221@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 72de00: Make TestWebKitAPI::WebTransportServer more robust
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 72de008ffc2a35922d34a064338028ea694ff7b6 https://github.com/WebKit/WebKit/commit/72de008ffc2a35922d34a064338028ea694ff7b6 Author: Alex Christensen Date: 2024-09-04 (Wed, 04 Sep 2024) Changed paths: A Tools/TestWebKitAPI/CoroutineUtilities.h A Tools/TestWebKitAPI/NetworkConnection.h A Tools/TestWebKitAPI/NetworkConnection.mm M Tools/TestWebKitAPI/SourcesCocoa.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm M Tools/TestWebKitAPI/WebTransportServer.h M Tools/TestWebKitAPI/WebTransportServer.mm M Tools/TestWebKitAPI/cocoa/HTTPServer.h M Tools/TestWebKitAPI/cocoa/HTTPServer.mm Log Message: --- Make TestWebKitAPI::WebTransportServer more robust https://bugs.webkit.org/show_bug.cgi?id=279107 rdar://135249015 Reviewed by Matthew Finkel. WebTransportServer was barely enough to do one echo. This makes it more robust. It now receives a connection handler in its constructor and shares the TestWebKitAPI::Connection code with HTTPServer. This will allow us to write more interesting tests. * Tools/TestWebKitAPI/CoroutineUtilities.h: Copied from Tools/TestWebKitAPI/WebTransportServer.h. (TestWebKitAPI::CoroutineHandle::CoroutineHandle): (TestWebKitAPI::CoroutineHandle::~CoroutineHandle): (TestWebKitAPI::Task::promise_type::get_return_object): (TestWebKitAPI::Task::promise_type::initial_suspend): (TestWebKitAPI::Task::promise_type::unhandled_exception): (TestWebKitAPI::Task::promise_type::return_void): * Tools/TestWebKitAPI/NetworkConnection.h: Added. (TestWebKitAPI::Connection::receiveHTTPRequest): (TestWebKitAPI::Connection::webSocketHandshake): (TestWebKitAPI::Connection::terminate): (TestWebKitAPI::Connection::Connection): (TestWebKitAPI::ReceiveHTTPRequestOperation::ReceiveHTTPRequestOperation): (TestWebKitAPI::ReceiveHTTPRequestOperation::await_ready): (TestWebKitAPI::ReceiveHTTPRequestOperation::await_resume): (TestWebKitAPI::ReceiveBytesOperation::ReceiveBytesOperation): (TestWebKitAPI::ReceiveBytesOperation::await_ready): (TestWebKitAPI::ReceiveBytesOperation::await_resume): (TestWebKitAPI::SendOperation::SendOperation): (TestWebKitAPI::SendOperation::await_ready): (TestWebKitAPI::SendOperation::await_resume): * Tools/TestWebKitAPI/NetworkConnection.mm: Added. (TestWebKitAPI::dataFromVector): (TestWebKitAPI::vectorFromData): (TestWebKitAPI::dataFromString): (TestWebKitAPI::Connection::receiveBytes const): (TestWebKitAPI::Connection::receiveHTTPRequest const): (TestWebKitAPI::Connection::awaitableReceiveHTTPRequest const): (TestWebKitAPI::ReceiveHTTPRequestOperation::await_suspend): (TestWebKitAPI::Connection::awaitableReceiveBytes const): (TestWebKitAPI::ReceiveBytesOperation::await_suspend): (TestWebKitAPI::SendOperation::await_suspend): (TestWebKitAPI::Connection::awaitableSend): (TestWebKitAPI::Connection::send const): (TestWebKitAPI::Connection::sendAndReportError const): (TestWebKitAPI::Connection::webSocketHandshake): (TestWebKitAPI::Connection::terminate): * Tools/TestWebKitAPI/SourcesCocoa.txt: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm: (TestWebKitAPI::TEST(WebTransport, Basic)): * Tools/TestWebKitAPI/WebTransportServer.h: * Tools/TestWebKitAPI/WebTransportServer.mm: (TestWebKitAPI::WebTransportServer::Data::create): (TestWebKitAPI::WebTransportServer::Data::Data): (TestWebKitAPI::WebTransportServer::WebTransportServer): (TestWebKitAPI::WebTransportServer::port const): * Tools/TestWebKitAPI/cocoa/HTTPServer.h: (TestWebKitAPI::CoroutineHandle::CoroutineHandle): Deleted. (TestWebKitAPI::CoroutineHandle::~CoroutineHandle): Deleted. (TestWebKitAPI::Task::promise_type::get_return_object): Deleted. (TestWebKitAPI::Task::promise_type::initial_suspend): Deleted. (TestWebKitAPI::Task::promise_type::unhandled_exception): Deleted. (TestWebKitAPI::Task::promise_type::return_void): Deleted. (TestWebKitAPI::Connection::receiveHTTPRequest): Deleted. (TestWebKitAPI::Connection::webSocketHandshake): Deleted. (TestWebKitAPI::Connection::terminate): Deleted. (TestWebKitAPI::Connection::Connection): Deleted. (TestWebKitAPI::ReceiveOperation::ReceiveOperation): Deleted. (TestWebKitAPI::ReceiveOperation::await_ready): Deleted. (TestWebKitAPI::ReceiveOperation::await_resume): Deleted. (TestWebKitAPI::SendOperation::SendOperation): Deleted. (TestWebKitAPI::SendOperation::await_ready): Deleted. (TestWebKitAPI::SendOperation::await_resume): Deleted. * Tools/TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::dataFromString): Deleted. (TestWebKitAPI::dataFromVector): Deleted. (TestWebKitAPI::vectorFromData): Deleted. (TestWebKitAPI::Connection::receiveBytes const): Deleted. (TestWebKitAPI::Connection::receiveHTTPRequest const): Deleted. (TestWebKitAPI::Connection::awaitableReceiveHTTPRequest const): Deleted. (TestWebKitAPI
[webkit-changes] [WebKit/WebKit] f08c4e: Begin implementing WebTransport network interface ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f08c4eb963415657f9ad044292a86d4095b23aa1 https://github.com/WebKit/WebKit/commit/f08c4eb963415657f9ad044292a86d4095b23aa1 Author: Alex Christensen Date: 2024-09-03 (Tue, 03 Sep 2024) Changed paths: M Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h M Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp M Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.h M Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.cpp M Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.h M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.h M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportBidirectionalStreamCocoa.mm A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportReceiveStreamCocoa.mm A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSendStreamCocoa.mm M Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm M Source/WebKit/SourcesCocoa.txt M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/Network/WebTransportSession.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm M Tools/TestWebKitAPI/WebTransportServer.h M Tools/TestWebKitAPI/WebTransportServer.mm R Tools/TestWebKitAPI/cocoa/WebTransportServer.h R Tools/TestWebKitAPI/cocoa/WebTransportServer.mm Log Message: --- Begin implementing WebTransport network interface using quic streams https://bugs.webkit.org/show_bug.cgi?id=278967 Reviewed by Matthew Finkel. My initial implementation to get some bytes on the network used h2, but that requires a bunch of metadata like headers and verbs and status codes, which isn't like WebTransport. This uses quic streams to begin sending and receiving bytes in a format that is closer to what we will want for WebTransport. * Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h: * Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp: (WebKit::NetworkTransportBidirectionalStream::NetworkTransportBidirectionalStream): Deleted. * Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.h: * Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.cpp: (WebKit::NetworkTransportReceiveStream::NetworkTransportReceiveStream): Deleted. * Source/WebKit/NetworkProcess/webtransport/NetworkTransportReceiveStream.h: (WebKit::NetworkTransportReceiveStream::identifier const): * Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp: (WebKit::NetworkTransportSendStream::sendBytes): * Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.h: * Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp: (WebKit::NetworkTransportSession::createOutgoingUnidirectionalStream): (WebKit::NetworkTransportSession::createBidirectionalStream): (WebKit::NetworkTransportSession::receiveIncomingUnidirectionalStream): (WebKit::NetworkTransportSession::receiveBidirectionalStream): * Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h: * Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportBidirectionalStreamCocoa.mm: Copied from Source/WebKit/NetworkProcess/webtransport/NetworkTransportBidirectionalStream.cpp. (WebKit::NetworkTransportBidirectionalStream::NetworkTransportBidirectionalStream): * Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportReceiveStreamCocoa.mm: Added. (WebKit::NetworkTransportReceiveStream::NetworkTransportReceiveStream): (WebKit::NetworkTransportReceiveStream::receiveLoop): * Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSendStreamCocoa.mm: Copied from Source/WebKit/NetworkProcess/webtransport/NetworkTransportSendStream.cpp. (WebKit::NetworkTransportSendStream::NetworkTransportSendStream): (WebKit::NetworkTransportSendStream::sendBytes): * Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm: (WebKit::NetworkTransportSession::NetworkTransportSession): (WebKit::NetworkTransportSession::initialize): (WebKit::NetworkTransportSession::sendDatagram): (WebKit::NetworkTransportSession::createBidirectionalStream): (WebKit::NetworkTransportSession::createOutgoingUnidirectionalStream): * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/Network/WebTransportSession.cpp: (WebKit::WebTransportSession::streamReceiveBytes): * Tools/TestWebK
[webkit-changes] [WebKit/WebKit] f74c9c: window.open with noopener should start using a new...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f74c9c4e346965bd059f8cf31406b4a48cc2cd8a https://github.com/WebKit/WebKit/commit/f74c9c4e346965bd059f8cf31406b4a48cc2cd8a Author: Alex Christensen Date: 2024-09-02 (Mon, 02 Sep 2024) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- window.open with noopener should start using a new BrowsingContextGroup when site isolation is enabled https://bugs.webkit.org/show_bug.cgi?id=278971 rdar://135085188 Reviewed by Charlie Wolfe. When noopener is used, that means we don't wnat to be able to post a message to it. If we don't have an opener relationship but we are in the same BrowsingContextGroup, the process management gets confused and starts putting things in the wrong process. This is the first step towards getting fast/dom/Window/a-rel-noopener.html to work with --site-isolation. It no longer asserts. Next, I need to make it not time out. I think I also need a followup PR to make it so there isn't a WebPage/Page created in the opener process at all if it's a cross-site open with noopener just to return null from window.open. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::createNewPage): * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST(SiteIsolation, OpenWithNoopener)): Canonical link: https://commits.webkit.org/283065@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b87d18: Remove Frame::setOpener
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b87d18215a73f63b17fc05ca68ad57d8a04646e4 https://github.com/WebKit/WebKit/commit/b87d18215a73f63b17fc05ca68ad57d8a04646e4 Author: Alex Christensen Date: 2024-08-30 (Fri, 30 Aug 2024) Changed paths: M Source/WebCore/inspector/InspectorFrontendClientLocal.cpp M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/FrameLoader.h M Source/WebCore/page/Frame.cpp M Source/WebCore/page/Frame.h M Source/WebCore/page/LocalDOMWindow.cpp M Source/WebCore/page/RemoteDOMWindow.cpp M Source/WebCore/page/RemoteDOMWindow.h M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp M Source/WebKit/WebProcess/WebPage/WebFrame.cpp M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm M Source/WebKitLegacy/mac/WebView/WebFrame.mm M Source/WebKitLegacy/mac/WebView/WebView.mm M Tools/TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp M Tools/TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp Log Message: --- Remove Frame::setOpener https://bugs.webkit.org/show_bug.cgi?id=278592 rdar://134596394 Reviewed by Charlie Wolfe. This PR untangles the different cases where we need to set the opener of a frame. Most commonly we only want to remove the opener. A frame can usually only get an opener if it is created with one, which I moved to the UI process in 274396@main but it can also be given an opener later if window.open is called with an existing frame as the target. We also need a setter upon Page construction in WebKitLegacy because the delegate callback doesn't have a configuration object and when switching between a LocalFrame and RemoteFrame. This is step 1 of turning FrameLoaderClient::dispatchCreatePage inside out and making it send the request and other parameters for the UI process to decide to make a page in whatever process it decides to. This is needed for implementing window.open with noopener with site isolation enabled. In order for this new way of setting the opener to work, users of WKPageSetPageUIClient need to be updated to v6 to get the createNewPage callback with a configuration where we can preserve the opener info like we do with WKUIDelegate. I've gone through the users of WKPageSetPageUIClient and made sure this won't break any current use. There is one current use and it always returns nil, so there is no compatibility concern there. WebCore::createWindow had an issue that had been covered up for many years. It takes two LocalFrame parameters, but when it is called from LocalDOMWindow::createWindow the parameter order was switched, and we used to just call Frame::setOpener to cover it up and make sure the frame had the correct opener when we were done. With this new flow of giving the Frame the correct opener in its constructor then never changing it unless we call open with a named existing frame, we need to use the correct frame as the opener. Since we were already using the opener as the lookup frame, I simplified it to only take one frame as a parameter, the correct opener frame. * Source/WebCore/inspector/InspectorFrontendClientLocal.cpp: (WebCore::InspectorFrontendClientLocal::openURLExternally): * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::~FrameLoader): (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): (WebCore::FrameLoader::switchBrowsingContextsGroup): * Source/WebCore/page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::takeWindowProxyAndOpenerFrom): (WebCore::Frame::disownOpener): (WebCore::Frame::setOpenerForWebKitLegacy): (WebCore::Frame::detachFromAllOpenedFrames): (WebCore::Frame::takeWindowProxyFrom): Deleted. (WebCore::Frame::setOpener): Deleted. (WebCore::Frame::openedFrames): Deleted. * Source/WebCore/page/Frame.h: (WebCore::Frame::opener): * Source/WebCore/page/LocalDOMWindow.cpp: (WebCore::LocalDOMWindow::disownOpener): (WebCore::LocalDOMWindow::createWindow): * Source/WebCore/page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::setOpener): Deleted. * Source/WebCore/page/RemoteDOMWindow.h: * Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: (WKBundleFrameClearOpener): * Source/WebKit/WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::loadDidCommitInAnotherProcess): (WebKit::WebFrame::commitProvisionalFrame): * Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchCreatePage): * Source/WebKitLegacy/mac/WebView/WebFrame.mm: (-[WebFrame _clearOpener]): * Source/WebKitLegacy/mac/WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]): Canonical link: https://commits.webkit.org/282987@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/setting
[webkit-changes] [WebKit/WebKit] 54dda4: Fix internal Ventura build after 282945@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 54dda47cf84c4f82dddedfea83be8c2f3fb7dd43 https://github.com/WebKit/WebKit/commit/54dda47cf84c4f82dddedfea83be8c2f3fb7dd43 Author: Alex Christensen Date: 2024-08-30 (Fri, 30 Aug 2024) Changed paths: M Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm Log Message: --- Fix internal Ventura build after 282945@main https://bugs.webkit.org/show_bug.cgi?id=278918 rdar://135014884 Unreviewed. The open source Ventura build is fine because it uses the forward declaration in CFNetworkSPI.h. The internal Ventura build has the symbol nw_http2_create_options in a different location in the SDK. Since I'm away from the ability to try an internal Ventura build right now, add a forward declaration to make the build more like the open source build. * Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm: Canonical link: https://commits.webkit.org/282966@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 7e31db: Begin implementing WebTransport network interface
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7e31db432af6660328dbd717aec83d0ac211e115 https://github.com/WebKit/WebKit/commit/7e31db432af6660328dbd717aec83d0ac211e115 Author: Alex Christensen Date: 2024-08-29 (Thu, 29 Aug 2024) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/webtransport/back-forward-cache-with-closed-webtransport-connection.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webtransport/back-forward-cache-with-open-webtransport-connection.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webtransport/constructor.https.any-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webtransport/csp-fail.https.window-expected.txt M LayoutTests/imported/w3c/web-platform-tests/webtransport/csp-pass.https.window-expected.txt M Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h A Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm M Source/WebKit/SourcesCocoa.txt M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Tools/TestWebKitAPI/SourcesCocoa.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj A Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm A Tools/TestWebKitAPI/WebTransportServer.h A Tools/TestWebKitAPI/WebTransportServer.mm M Tools/TestWebKitAPI/cocoa/HTTPServer.h A Tools/TestWebKitAPI/cocoa/WebTransportServer.h A Tools/TestWebKitAPI/cocoa/WebTransportServer.mm Log Message: --- Begin implementing WebTransport network interface https://bugs.webkit.org/show_bug.cgi?id=278891 rdar://134977323 Reviewed by Matthew Finkel. As a first step, I start implementing the connection initialization and data sending using h2 instead of the WebTransport protocol. They are similar enough that they both benefit from using the nw_connection_group_t abstraction which is an object that can be initialized with a URL, start or receive "connections" and send or receive data. nw_connection_group_set_receive_handler needs to be called before nw_connection_group_start so I create a NetworkTransportSession for the receive handler before deciding if we want to discard it by calling the completion handler of NetworkTransportSession::initialize with nullptr if there is a network failure during initialization. Other than that, this PR basically just adds some straightforward abstractions and begins implementing a few of them. WebTransport has some special needs on the server, so I made a new test server for it. httpd doesn't really support it in a straightforward way, and even WPT's WebTransport tests require a little custom server setup. TestWebKitAPI::HTTPServer isn't really the right abstraction for it, either because I will eventually need to use nw_listener_set_new_connection_group_handler instead of nw_listener_set_new_connection_handler to listen for quic connections. It isn't quite the way it needs to be yet, but I just listen for one encrypted TCP connection and wait until it receives more than 0 bytes, which verifies that something is happening on the client. In my next PR I'll hook up more things and soon I'll start using nw_connection_group_t on the server too. * Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.cpp: (WebKit::NetworkTransportSession::initialize): (WebKit::NetworkTransportSession::messageSenderConnection const): (WebKit::NetworkTransportSession::sendDatagram): (WebKit::NetworkTransportSession::createOutgoingUnidirectionalStream): (WebKit::NetworkTransportSession::createBidirectionalStream): (WebKit::NetworkTransportSession::receiveDatagram): (WebKit::NetworkTransportSession::NetworkTransportSession): Deleted. * Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h: * Source/WebKit/NetworkProcess/webtransport/cocoa/NetworkTransportSessionCocoa.mm: Added. (WebKit::NetworkTransportSession::NetworkTransportSession): (WebKit::NetworkTransportSession::initialize): (WebKit::NetworkTransportSession::sendDatagram): * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/SourcesCocoa.txt: * Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebTransport.mm: Added. (TestWebKitAPI::enableWebTransport): (TestWebKitAPI::TEST(WebTransport, Basic)): * Tools/TestWebKitAPI/WebTransportServer.h: Added. (TestWebKitAPI::WebTransportServer::bytesReceived const): (TestWebKitAPI::WebTransportServer::setBytesReceived): * Tools/TestWebKitAPI/WebTransportServer.mm: Added. (TestWebKitAPI::connectionLoop): (TestWebKitAPI::WebTransportServer::WebTransportServer): (TestWebKitAPI::WebTransportServer::port const):
[webkit-changes] [WebKit/WebKit] b4145d: Fix assertion after 281812@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b4145d91c54dc9fe85e3a6980bff564db716b93d https://github.com/WebKit/WebKit/commit/b4145d91c54dc9fe85e3a6980bff564db716b93d Author: Alex Christensen Date: 2024-08-26 (Mon, 26 Aug 2024) Changed paths: M Source/WebKit/Shared/API/APISerializedScriptValue.cpp Log Message: --- Fix assertion after 281812@main https://bugs.webkit.org/show_bug.cgi?id=278682 rdar://134731526 Reviewed by Timothy Hatcher. My assertion had an off-by-one error that was usually true because it was checking that uninitialized memory was 0. JSStringGetUTF8CString returns a length that includes the null termination character, which I got correct in the call to WKStringCreateWithUTF8CStringWithLength but not in the assertion. This fixes the assertion and makes the tests stop asserting in debug builds. * Source/WebKit/Shared/API/APISerializedScriptValue.cpp: (API::valueToWKObject): Canonical link: https://commits.webkit.org/282769@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 15cf18: Strengthen configuration check in UIClient::create...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 15cf18453a96df5ef307c4f27f9edf03a8b3a0cb https://github.com/WebKit/WebKit/commit/15cf18453a96df5ef307c4f27f9edf03a8b3a0cb Author: Alex Christensen Date: 2024-08-26 (Mon, 26 Aug 2024) Changed paths: M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm M Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm M Tools/TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h M Tools/TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm M Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm Log Message: --- Strengthen configuration check in UIClient::createNewPage https://bugs.webkit.org/show_bug.cgi?id=278385 rdar://134346771 Reviewed by Charlie Wolfe. When WKUIDelegate.createWebViewWithConfiguration is called, we need that configuration to actually be used. It used to be possible to use WKWebViewConfiguration._relatedWebView to take another WKWebViewConfiguration and make it look similar enough that WebKit didn't care it wasn't the same, but with site isolation we need to store more information than the _relatedWebView on the configuration (the API::PageConfiguration::OpenerInfo) so it is no longer possible to use _relatedWebView to retrofit another configuration and have the opener be set up correctly. I went through the users of _relatedWebView, and I think the only client that still does this is WebKitTestRunner, so I strengthen the check and fix WebKitTestRunner, and one test in TestWebKitAPI, which I replace by using the correct configuration. * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::createNewPage): * Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: (TestWebKitAPI::TransferTrackBetweenSameProcessPages)): * Tools/TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h: * Tools/TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm: (-[UserMediaCaptureUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): (-[UserMediaCaptureUIDelegate setWebViewForPopup:]): Deleted. * Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm: (TestWebKitAPI::PlatformWebView::initialize): Canonical link: https://commits.webkit.org/282760@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3d37dc: Simiplify IPC type metadata
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3d37dc58ca1e20f0498f7cca29c60b66f68900c9 https://github.com/WebKit/WebKit/commit/3d37dc58ca1e20f0498f7cca29c60b66f68900c9 Author: Alex Christensen Date: 2024-08-26 (Mon, 26 Aug 2024) Changed paths: M Source/WebKit/Scripts/generate-serializers.py M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp M Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h M Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp M Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in M Source/WebKit/WebProcess/WebPage/WebPage.messages.in M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Simiplify IPC type metadata https://bugs.webkit.org/show_bug.cgi?id=278478 rdar://134439503 Reviewed by Dan Glastonbury. RectEdges isn't really a container. Make the generator a tiny bit more aware of templates and make its use consistent and we can remove it from the list of containers. * Source/WebKit/Scripts/generate-serializers.py: (generate_forward_declarations): * Source/WebKit/Scripts/webkit/messages.py: (types_that_cannot_be_forward_declared): (headers_for_type): * Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp: (IPC::ArgumentCoder>::encode): (IPC::ArgumentCoder>::decode): * Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.h: * Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp: (WebKit::allSerializedTypes): * Source/WebKit/Scripts/webkit/tests/TestSerializedType.serialization.in: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in: * Source/WebKit/WebProcess/WebPage/WebPage.messages.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (SerializedTypeInfo)): Canonical link: https://commits.webkit.org/282738@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d39e86: Cherry-pick 282655@main (a3728bae9407). https://bu...
Branch: refs/heads/webkitglib/2.46 Home: https://github.com/WebKit/WebKit Commit: d39e864360ecc0c8bf5e72cd795853fd92c7bddf https://github.com/WebKit/WebKit/commit/d39e864360ecc0c8bf5e72cd795853fd92c7bddf Author: Alex Christensen Date: 2024-08-25 (Sun, 25 Aug 2024) Changed paths: M Source/WebKit/Shared/LoadParameters.h M Source/WebKit/Shared/LoadParameters.serialization.in M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp M Source/WebKit/UIProcess/Cocoa/SOAuthorization/RedirectSOAuthorizationSession.mm M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- Cherry-pick 282655@main (a3728bae9407). https://bugs.webkit.org/show_bug.cgi?id=278550 Fix std::span lifetime issues after 281966@main https://bugs.webkit.org/show_bug.cgi?id=278550 rdar://134358987 Reviewed by Pascoe. loadParameters.data is a std::span, so we need to keep the data alive until it is actually sent. I use a SharedBuffer as basically a platform-agnostic RetainPtr to accomplish this. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageLoadData): (WKPageLoadDataWithUserData): (loadString): * Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm: (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): (-[WKWebView loadSimulatedRequest:response:responseData:]): (-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]): * Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp: (webkit_web_view_load_html): (webkit_web_view_load_plain_text): (webkit_web_view_load_bytes): * Source/WebKit/UIProcess/Cocoa/SOAuthorization/RedirectSOAuthorizationSession.mm: (WebKit::RedirectSOAuthorizationSession::completeInternal): * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::loadData): * Source/WebKit/UIProcess/ProvisionalPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadData): (WebKit::WebPageProxy::loadDataWithNavigationShared): (WebKit::WebPageProxy::loadSimulatedRequest): (WebKit::WebPageProxy::loadAlternateHTML): (WebKit::WebPageProxy::continueNavigationInNewProcess): (WebKit::WebPageProxy::loadServiceWorker): * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/282655@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d152a5: Fix debug assertion in WebPageProxy::loadDataWithN...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d152a53cf0d12a790e50f23cc045a3304a0a94c2 https://github.com/WebKit/WebKit/commit/d152a53cf0d12a790e50f23cc045a3304a0a94c2 Author: Alex Christensen Date: 2024-08-23 (Fri, 23 Aug 2024) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp Log Message: --- Fix debug assertion in WebPageProxy::loadDataWithNavigationShared after 282655@main https://bugs.webkit.org/show_bug.cgi?id=278571 rdar://134583835 Reviewed by Richard Robinson. This fixes any use of WKWebView.loadData in a debug build. Covered by many API tests, which unfortunately have no EWS coverage. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadDataWithNavigationShared): Canonical link: https://commits.webkit.org/282669@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a3728b: Fix std::span lifetime issues after 281966@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a3728bae94070014b94bcdb1a0b36548788d23f8 https://github.com/WebKit/WebKit/commit/a3728bae94070014b94bcdb1a0b36548788d23f8 Author: Alex Christensen Date: 2024-08-23 (Fri, 23 Aug 2024) Changed paths: M Source/WebKit/Shared/LoadParameters.h M Source/WebKit/Shared/LoadParameters.serialization.in M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp M Source/WebKit/UIProcess/Cocoa/SOAuthorization/RedirectSOAuthorizationSession.mm M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- Fix std::span lifetime issues after 281966@main https://bugs.webkit.org/show_bug.cgi?id=278550 rdar://134358987 Reviewed by Pascoe. loadParameters.data is a std::span, so we need to keep the data alive until it is actually sent. I use a SharedBuffer as basically a platform-agnostic RetainPtr to accomplish this. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageLoadData): (WKPageLoadDataWithUserData): (loadString): * Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm: (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:]): (-[WKWebView loadSimulatedRequest:response:responseData:]): (-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]): * Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp: (webkit_web_view_load_html): (webkit_web_view_load_plain_text): (webkit_web_view_load_bytes): * Source/WebKit/UIProcess/Cocoa/SOAuthorization/RedirectSOAuthorizationSession.mm: (WebKit::RedirectSOAuthorizationSession::completeInternal): * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::loadData): * Source/WebKit/UIProcess/ProvisionalPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadData): (WebKit::WebPageProxy::loadDataWithNavigationShared): (WebKit::WebPageProxy::loadSimulatedRequest): (WebKit::WebPageProxy::loadAlternateHTML): (WebKit::WebPageProxy::continueNavigationInNewProcess): (WebKit::WebPageProxy::loadServiceWorker): * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/282655@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5bb700: Remove TestRunner::installStatisticsDidScanDataRec...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5bb70059d37c2f0ef7b26cf2e26be06054eb5572 https://github.com/WebKit/WebKit/commit/5bb70059d37c2f0ef7b26cf2e26be06054eb5572 Author: Alex Christensen Date: 2024-08-22 (Thu, 22 Aug 2024) Changed paths: M LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion-expected.txt M LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/prune-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html M LayoutTests/http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html M LayoutTests/http/tests/webAPIStatistics/font-load-data-collection.html M LayoutTests/http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html M LayoutTests/http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html M LayoutTests/http/tests/websocket/connection-refusal-in-frame-resource-load-statistics.html M LayoutTests/http/tests/websocket/resources/localhost-websocket-connect.html M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h M Source/WebKit/NetworkProcess/NetworkProcess.cpp M Source/WebKit/NetworkProcess/NetworkProcess.h M Source/WebKit/NetworkProcess/NetworkProcess.messages.in M Source/WebKit/NetworkProcess/NetworkSession.cpp M Source/WebKit/NetworkProcess/NetworkSession.h M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.cpp M Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h M Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h M Tools/WebKitTestRunner/TestController.cpp M Tools/WebKitTestRunner/TestController.h M Tools/WebKitTestRunner/TestInvocation.cpp Log Message: --- Remove TestRunner::installStatisticsDidScanDataRecordsCallback https://bugs.webkit.org/show_bug.cgi?id=278508 rdar://134462116 Reviewed by Pascoe. It stores state in the injected bundle and doesn't work with site isolation. With some reordering callbacks after awaits, we can get the functionality to be tested at equivalent times. When it's gone, we can remove a lot of piping needed to support it. * LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion-expected.txt: * LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion.html: * LayoutTests/http/tests/resourceLoadStatistics/prune-statistics.html: * LayoutTests/http/tests/resourceLoadStatistics/user-interaction-in-cross-origin-sub-frame.html: * LayoutTests/http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * LayoutTests/http/tests/webAPIStatistics/font-load-data-collection.html: * LayoutTests/http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * LayoutTests/http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * LayoutTests/http/tests/websocket/connection-refusal-in-frame-resource-load-statistics.html: * LayoutTests/http/tests/websocket/resources/localhost-websocket-connect.html: * Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp: (WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords): (WebKit::ResourceLoadStatisticsStore::grandfatherExistingWebsiteData): (WebKit::ResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned): Deleted. * Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h: * Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated): (WebKit::WebResourceLoadStatisticsStore::registrableDomainsWithWebsiteData): (WebKit::WebResourceLoadStatisticsStore::setNotifyPagesWhenDataRecordsWereScanned): Deleted. (WebKit::WebResourceLoadStatisticsStore::notifyResourceLoadStatisticsProcessed): Deleted. * Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h: * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::registrableDomainsWithWebsiteData): (WebKit::NetworkProcess::setNotifyPagesWhenDataRecordsW
[webkit-changes] [WebKit/WebKit] c2e4b6: Reduce use of TestRunner.installStatisticsDidScanD...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c2e4b673742acda4d321dbfa88437ae52fcda2ab https://github.com/WebKit/WebKit/commit/c2e4b673742acda4d321dbfa88437ae52fcda2ab Author: Alex Christensen Date: 2024-08-21 (Wed, 21 Aug 2024) Changed paths: M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html M LayoutTests/http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html M LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker.html M LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-loads.html M LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script.html M LayoutTests/http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-database.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/grandfathering.html M LayoutTests/http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html M LayoutTests/http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-not-removed-with-user-interaction-6-days-ago.html M LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-with-user-interaction-7-days-ago.html M LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed.html M LayoutTests/http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect
[webkit-changes] [WebKit/WebKit] 9368e4: Remove TestRunner.installStatisticsDidModifyDataRe...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9368e4b24a798fb2bf5beddc5114273c81ea1247 https://github.com/WebKit/WebKit/commit/9368e4b24a798fb2bf5beddc5114273c81ea1247 Author: Alex Christensen Date: 2024-08-21 (Wed, 21 Aug 2024) Changed paths: M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h M Source/WebKit/NetworkProcess/NetworkProcess.cpp M Source/WebKit/NetworkProcess/NetworkProcess.h M Source/WebKit/NetworkProcess/NetworkSession.cpp M Source/WebKit/NetworkProcess/NetworkSession.h M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h M Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h Log Message: --- Remove TestRunner.installStatisticsDidModifyDataRecordsCallback https://bugs.webkit.org/show_bug.cgi?id=278465 Reviewed by Charlie Wolfe. This reduces state in the web content process and makes the tests work better with site isolation because we no longer use cacheTestRunnerCallback. All the tests that use installStatisticsDidModifyDataRecordsCallback also call await testRunner.statisticsProcessStatisticsAndDataRecords() which is sufficient waiting for the didModifyDataRecords to have happened except in one test, http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html where we need the keyDown to also have been processed, which we can accomplish by polling and checking if the 'a' key's effects have been observed. Since we are removing the installStatisticsDidModifyDataRecordsCallback call, we can also remove some infrastructure in WebKit that existed only to make that work. We also remove the layering violation where WebKit.framework had code that sent a "WebsiteDataDeletionForRegistrableDomainsFinished" message that was only intended for WebKitTestRunner, and I remove a few places where we pass around a now-unneeded parameter bool shouldNotifyPage because we should never notify the page, as well as a now-unused message NotifyWebsiteDataDeletionForRegistrableDomainsFinished. * LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html: * LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html: * LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html: * LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html: * LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html: * Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp: (WebKit::ResourceLoadStatisticsStore::removeDataRecords): (WebKit::ResourceLoadStatisticsStore::processStatisticsAndDataRecords): * Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::deleteAndRestrictWebsiteDataForRegistrableDomains): * Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h: * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains): (WebKit::NetworkProcess::deleteCookiesForTesting): * Source/WebKit/NetworkProcess/NetworkProcess.h: * Source/WebKit/NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::deleteAndRestrictWebsiteDataForRegistrableDomains): * Source/WebKit/NetworkProcess/NetworkSession.h: * Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp: (WebKit::NetworkProcessProxy::notifyWebsiteDataDeletionForRegistrableDomainsFinished): Deleted. * Source/WebKit/UIProcess/Network/NetworkProcessProxy.h: * Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in: * Source/WebKit/UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::notifyWebsiteDataDeletionForRegistrableDomainsFinished): Deleted. * Source/WebKit/UIProcess/WebProcessProxy.h: * Tools/WebKitTestRunne
[webkit-changes] [WebKit/WebKit] 70a0c7: Remove tests that no longer exist from LayoutTests...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 70a0c724037b0d6850b797beced9aa0e55510aa7 https://github.com/WebKit/WebKit/commit/70a0c724037b0d6850b797beced9aa0e55510aa7 Author: Alex Christensen Date: 2024-08-20 (Tue, 20 Aug 2024) Changed paths: M LayoutTests/platform/mac-site-isolation/TestExpectations Log Message: --- Remove tests that no longer exist from LayoutTests/platform/mac-site-isolation/TestExpectations https://bugs.webkit.org/show_bug.cgi?id=278428 rdar://134376681 Unreviewed. * LayoutTests/platform/mac-site-isolation/TestExpectations: Canonical link: https://commits.webkit.org/282532@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 96178a: Deprecate WKWebViewConfiguration._relatedWebView
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 96178af87818a22654b660f0b6bf5c3ae3cc70c4 https://github.com/WebKit/WebKit/commit/96178af87818a22654b660f0b6bf5c3ae3cc70c4 Author: Alex Christensen Date: 2024-08-20 (Tue, 20 Aug 2024) Changed paths: M Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.h M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm M Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm M Tools/TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebLocks.mm M Tools/TestWebKitAPI/gtk/PlatformWebViewGtk.cpp M Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm M Tools/TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp M Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp M Tools/TestWebKitAPI/wpe/PlatformWebViewWPE.cpp Log Message: --- Deprecate WKWebViewConfiguration._relatedWebView https://bugs.webkit.org/show_bug.cgi?id=278369 rdar://134318086 Reviewed by Timothy Hatcher. _relatedWebView is SPI to place two WKWebViews in the same web content process. It is fundamentally incompatible with site isolation for several reasons. First, it takes control of the process selection logic to the SPI client instead of the site that is loaded in the WKWebView. Second, it assumes there is only one web content process to share. Third, its use is tied to use of injected bundle SPI that is also incompatible with site isolation, and that use often keeps state in the web content process, which can't be done with site isolation because that state must now be kept in multiple processes. This deprecation doesn't change behavior, but it will begin giving a signal that this SPI should not have new use and its current use should be migrated from. This PR must merge only after rdar://134318043 is complete. * Source/WebKit/UIProcess/API/C/WKPageConfigurationRef.h: * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): (-[WKWebView _setupPageConfiguration:withPool:]): * Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::UIClient::createNewPage): * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm: (WebKit::WebExtensionContext::webViewConfiguration): (WebKit::WebExtensionContext::loadInspectorBackgroundPage): * Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: (TestWebKitAPI::TEST(WebKit, InterruptionBetweenSameProcessPages)): (TestWebKitAPI::TransferTrackBetweenSameProcessPages)): * Tools/TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp: (TestWebKitAPI::TEST(WebKit, WKPageConfigurationEmpty)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: (TestWebKitAPI::TEST(GPUProcess, GPUProcessForDOMRenderingCarriesOverFromRelatedPage)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: (TEST(WKWebView, LocalStorageDifferentPageGroupSameProcess)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm: (TEST(ProcessSuspension, DestroyWebPageDuringWebProcessSuspension)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: ((ProcessSwap, RelatedWebViewBeforeWebProcessLaunch)): ((ProcessSwap, ReloadRelatedWebViewAfterCrash)): ((ProcessSwap, TerminatedSuspendedPageProcess)): ((ProcessSwap, ProcessSwapInRelatedView)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: ((ServiceWorkers, ThrottleCrash)): ((ServiceWorker, ExtensionServiceWorker)): ((ServiceWorker, RemovalOfSameRegistrableDomainButDifferentOrigin)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: (TEST(WebKit, InvalidConfiguration)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: (TEST(WKNavigation, ReloadRelatedViewsInProcessDidTerminate)): (TEST(WKNavigation, MultipleProcessCrashesRelatedWebViews)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebLocks.mm: (TestWebKitAPI::runSnapshotAcrossPagesTest): (TestWebKitAPI::runLockRequestWaitingOnAnotherPage): * Tools/TestWebKitAPI/mac/PlatformWebViewMac.mm: (TestWebKitAPI::PlatformWebView::initialize): (TestWebKitAPI::PlatformWebView::PlatformWebView): Canonical link: https://commits.webkit.org/282491@
[webkit-changes] [WebKit/WebKit] c208d4: REGRESSION (274396@main): UI Process COOP check sh...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c208d4a122c6259a4cc6d81cb54beb5f332892ce https://github.com/WebKit/WebKit/commit/c208d4a122c6259a4cc6d81cb54beb5f332892ce Author: Alex Christensen Date: 2024-08-19 (Mon, 19 Aug 2024) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm Log Message: --- REGRESSION (274396@main): UI Process COOP check should only remove opener during main frame navigations https://bugs.webkit.org/show_bug.cgi?id=278359 rdar://132840366 Reviewed by Matthew Finkel. We have COOP header checks in the network process and web process, and in 274396@main I introduced one in the UI process. However, the other two checks have this comment: // COOP only applies to top-level browsing contexts. I missed adding that check in the UI process. As a result, if there is an iframe loaded with a COOP header (which should be ignored), then a cross-origin navigation, then another cross-origin navigation back, the opener should be there but we had removed it. The regression caused a login flow to break. I manually verified the login flow is fixed with this change, and I added a unit test that hits this condition. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForResponseShared): * Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: ((ProcessSwap, ClientRedirectAfterCOOPIframeIgnored)): Canonical link: https://commits.webkit.org/282482@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 2f73df: Remove Messages::WebPageProxy::DidCreateMainFrame
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 2f73df8bb0a2141174afc61bef0e64774f301aa9 https://github.com/WebKit/WebKit/commit/2f73df8bb0a2141174afc61bef0e64774f301aa9 Author: Alex Christensen Date: 2024-08-17 (Sat, 17 Aug 2024) Changed paths: M Source/WebKit/Shared/WebPageCreationParameters.h M Source/WebKit/Shared/WebPageCreationParameters.serialization.in M Source/WebKit/UIProcess/API/APIPageConfiguration.cpp M Source/WebKit/UIProcess/API/APIPageConfiguration.h M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp M Source/WebKit/UIProcess/API/wpe/WPEWebViewLegacy.cpp M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp M Source/WebKit/UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.h M Source/WebKit/UIProcess/Cocoa/SOAuthorization/PopUpSOAuthorizationSession.mm M Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationCoordinator.h M Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationCoordinator.mm M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm M Source/WebKit/UIProcess/FrameProcess.h M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.h M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/UIProcess/WebPageProxyInternals.h M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp M Source/WebKit/UIProcess/ios/WKContentView.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKit/UIProcess/playstation/PlayStationWebView.cpp M Source/WebKit/UIProcess/win/WebView.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- Remove Messages::WebPageProxy::DidCreateMainFrame https://bugs.webkit.org/show_bug.cgi?id=278063 rdar://133795690 Reviewed by Chris Dumez. We used to have FrameIdentifiers all generated in the same web content process, so we needed the web content process to tell the UI process what the identifier of the main frame was. With site isolation, we have already made FrameIdentifier ProcessQualified, which is necessary because frames in different web content processes can each make new frames with site isolation on. In order to get about:blank loads more correct, we need the UI process to be in charge of making the main frame with its identifier and the web content process is in charge of making iframes and their identifiers. Because WebFrameProxy::isMainFrame is now called from functions called by the ProvisionalPageProxy constructor (like didReceiveServerRedirectForProvisionalLoadForFrameShared) we had to update it to check a boolean enum stored on the WebFrameProxy instead of checking the connected WebPageProxy or ProvisionalPageProxy for its main frame. Because there is no longer a time between WebPageProxy initialization and main frame construction, setServiceWorkerOpenWindowCompletionCallback needs to be replaced by just putting it directly on to the main frame. Removing serviceWorkerOpenWindowCompletionCallback is necessary to keep the ServiceWorker.OpenWindowWebsiteDataStoreDelegate API test working, and it is also a simplification. WebProcessPool::globalDelaysWebProcessLaunchDefaultValue returns false on iOS, which no longer works nicely with site isolation's process management during WKWebView instantiation, so PageConfiguration::delaysWebProcessLaunchUntilFirstLoad now returns false to keep this behavior platform-independent with site isolation on. In order to get http/tests/site-isolation/iframe-and-window-open.html to keep passing, I need to initialize WebPageProxy's m_openerFrame in the constructor rather than the completion handler of WebPageProxy::createNewPage after the page had been initialized because otherwise some processes would be told it does have an opener and some would be told that it does not have an opener. Now that the API::PageConfiguration is where the WebPageProxy gets its opener from, PopUpSOAuthorizationSession can no longer recreate its own WKWebViewConfiguration that is similar enough by using _relatedWebView. It needs to actually use the PageConfiguration that comes from WebPageProxy::createNewPage where the opener frame is set. * Source/WebKit/Shared/WebPageCreationParameters.h: * Source/WebKit/Shared/WebPageCreationParameters.serialization.in: * Source/WebKit/UIProcess/API/APIPageConfiguration.cpp: (API::PageConfiguration::openerProcess const): (API::PageConfiguration::setOpenerProcess): * Source/WebKit/UIProcess/API/APIPageConfiguration.h: * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm: * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::Provisiona
[webkit-changes] [WebKit/WebKit] 271e48: REGRESSION (282671@main): [ macOS iOS wk2 ] http/t...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 271e48d835ea9210dde60856f4b60e9353fab3e5 https://github.com/WebKit/WebKit/commit/271e48d835ea9210dde60856f4b60e9353fab3e5 Author: Alex Christensen Date: 2024-08-14 (Wed, 14 Aug 2024) Changed paths: M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html M LayoutTests/platform/ios/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations Log Message: --- REGRESSION (282671@main): [ macOS iOS wk2 ] http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html is a flaky failure. https://bugs.webkit.org/show_bug.cgi?id=278051 rdar://133791320 Reviewed by Charlie Wolfe. The test needs to simulate a keyDown then have the function in setStatisticsHasHadUserInteraction called. Since I made statisticsProcessStatisticsAndDataRecords async, I introduced a race condition that can be solved by calling it after eventSender.keyDown. I verified I could hit the race condition before but not after this change. * LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html: * LayoutTests/platform/ios/TestExpectations: * LayoutTests/platform/mac-wk2/TestExpectations: Canonical link: https://commits.webkit.org/282261@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0eabc2: Fix 2 site isolation tests on Sequoia
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0eabc2e1a7d800ab699298dcb766d063de264f48 https://github.com/WebKit/WebKit/commit/0eabc2e1a7d800ab699298dcb766d063de264f48 Author: Alex Christensen Date: 2024-08-13 (Tue, 13 Aug 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- Fix 2 site isolation tests on Sequoia https://bugs.webkit.org/show_bug.cgi?id=278064 rdar://133796087 Reviewed by Sihui Liu. The result of objectByEvaluatingJavaScript is already an NSString. Calling the stringValue selector on it causes an ObjC exception on Sequoia. * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST(SiteIsolation, RunOpenPanel)): (TestWebKitAPI::TEST(SiteIsolation, WebsitePoliciesCustomNavigatorPlatform)): Canonical link: https://commits.webkit.org/282206@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1e4a32: Deprecate WKContextSetDownloadClient
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1e4a3263bb8bf66dbd1c6991c9d90b2c068eeb52 https://github.com/WebKit/WebKit/commit/1e4a3263bb8bf66dbd1c6991c9d90b2c068eeb52 Author: Alex Christensen Date: 2024-08-12 (Mon, 12 Aug 2024) Changed paths: M Source/WebKit/UIProcess/API/C/WKContext.cpp M Source/WebKit/UIProcess/API/C/WKContext.h M Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm Log Message: --- Deprecate WKContextSetDownloadClient https://bugs.webkit.org/show_bug.cgi?id=277883 Reviewed by Chris Dumez. * Source/WebKit/UIProcess/API/C/WKContext.cpp: * Source/WebKit/UIProcess/API/C/WKContext.h: * Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm: Canonical link: https://commits.webkit.org/282150@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] ebea20: Deprecate WKSerializedScriptValueRef
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ebea209afc66421f045f69e648b3ac382076b9bf https://github.com/WebKit/WebKit/commit/ebea209afc66421f045f69e648b3ac382076b9bf Author: Alex Christensen Date: 2024-08-07 (Wed, 07 Aug 2024) Changed paths: M Source/WebKit/Shared/API/c/WKSerializedScriptValue.cpp M Source/WebKit/Shared/API/c/WKSerializedScriptValue.h Log Message: --- Deprecate WKSerializedScriptValueRef https://bugs.webkit.org/show_bug.cgi?id=277594 rdar://133133034 Reviewed by Timothy Hatcher. Its last use was removed in rdar://132943552 * Source/WebKit/Shared/API/c/WKSerializedScriptValue.cpp: (WKSerializedScriptValueGetTypeID): (WKSerializedScriptValueCreate): (WKSerializedScriptValueDeserialize): * Source/WebKit/Shared/API/c/WKSerializedScriptValue.h: Canonical link: https://commits.webkit.org/281960@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6d1954: Add some properties to WKDownload
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6d1954745ba4a691092405c17cc694849d91d8c5 https://github.com/WebKit/WebKit/commit/6d1954745ba4a691092405c17cc694849d91d8c5 Author: Alex Christensen Date: 2024-08-07 (Wed, 07 Aug 2024) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKDownload.h M Source/WebKit/UIProcess/API/Cocoa/WKDownload.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/Download.mm Log Message: --- Add some properties to WKDownload rdar://120389237 Reviewed by Chris Dumez. Safari uses the originating frame and whether a user gesture was used to start the download. * Source/WebKit/UIProcess/API/Cocoa/WKDownload.h: * Source/WebKit/UIProcess/API/Cocoa/WKDownload.mm: (-[WKDownload isUserInitiated]): (-[WKDownload originatingFrame]): Canonical link: https://commits.webkit.org/281956@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aff0d1: Integer truncation in TextCodecUTF8::decode leadin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aff0d180af6eb73a95f65bafcf52754d0394f546 https://github.com/WebKit/WebKit/commit/aff0d180af6eb73a95f65bafcf52754d0394f546 Author: Alex Christensen Date: 2024-08-06 (Tue, 06 Aug 2024) Changed paths: M Source/WebCore/PAL/pal/text/TextCodecLatin1.cpp M Source/WebCore/PAL/pal/text/TextCodecUTF8.cpp Log Message: --- Integer truncation in TextCodecUTF8::decode leading to OOB writes rdar://130946877 Reviewed by Darin Adler. If the length plus the length of the previously attempted partial UTF-8 sequence is greater than can fit into an unsigned, we will truncate the length and write the long length, which isn't ideal. The Latin-1 codec appears to have a similar issue but it doesn't keep state, so I think it's unreachable. To make it more clear in code inspection that it is unreachable, I added a check to be extra safe. * LayoutTests/security/decode-buffer-size-expected.txt: Added. * LayoutTests/security/decode-buffer-size.html: Added. * Source/WebCore/PAL/pal/text/TextCodecLatin1.cpp: (PAL::TextCodecLatin1::decode): * Source/WebCore/PAL/pal/text/TextCodecUTF8.cpp: (PAL::TextCodecUTF8::decode): Originally-landed-as: dfa712ddc5a1. rdar://132958322 Canonical link: https://commits.webkit.org/281916@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cd58fd: Image decode failures should not be WebKit interna...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cd58fda2512a566be80f30aa8cf43285ff414dda https://github.com/WebKit/WebKit/commit/cd58fda2512a566be80f30aa8cf43285ff414dda Author: Alex Christensen Date: 2024-08-03 (Sat, 03 Aug 2024) Changed paths: M Source/WebKit/Shared/Cocoa/WebErrorsCocoa.mm M Source/WebKit/Shared/WebErrors.cpp M Source/WebKit/Shared/WebErrors.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/LoadAndDecodeImage.mm Log Message: --- Image decode failures should not be WebKit internal errors https://bugs.webkit.org/show_bug.cgi?id=277595 rdar://133136320 Reviewed by Tim Horton. If an image fails to decode, that should not be reported as an internal error, it should be a decode error. Otherwise we get these in stderr: ERROR: WebKit encountered an internal error. This is a WebKit bug. Also, the process was getting shut down during the message, so in practice if an image took more than a moment to load it would fail. I manually verified that adding preventProcessShutdownScope to the message fixes this issue. * Source/WebKit/Shared/Cocoa/WebErrorsCocoa.mm: (WebKit::decodeError): * Source/WebKit/Shared/WebErrors.cpp: (WebKit::decodeError): * Source/WebKit/Shared/WebErrors.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadAndDecodeImage): * Tools/TestWebKitAPI/Tests/WebKitCocoa/LoadAndDecodeImage.mm: (TestWebKitAPI::TEST(WebKit, LoadAndDecodeImage)): Canonical link: https://commits.webkit.org/281813@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0b6bdc: Introduce C SPI WKPageEvaluateJavaScriptInMainFram...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0b6bdc8b69f7b545c1c43217cf010f76eb6976bb https://github.com/WebKit/WebKit/commit/0b6bdc8b69f7b545c1c43217cf010f76eb6976bb Author: Alex Christensen Date: 2024-08-03 (Sat, 03 Aug 2024) Changed paths: M Source/WebKit/Shared/API/APIArray.cpp M Source/WebKit/Shared/API/APIArray.h M Source/WebKit/Shared/API/APIDictionary.cpp M Source/WebKit/Shared/API/APIDictionary.h A Source/WebKit/Shared/API/APISerializedScriptValue.cpp M Source/WebKit/Shared/API/APISerializedScriptValue.h M Source/WebKit/Shared/API/c/WKMutableArray.cpp M Source/WebKit/Shared/API/c/WKMutableArray.h M Source/WebKit/Shared/API/c/WKMutableDictionary.cpp M Source/WebKit/Shared/API/c/WKMutableDictionary.h M Source/WebKit/Shared/API/c/WKString.cpp M Source/WebKit/Shared/API/c/WKString.h M Source/WebKit/Sources.txt M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/API/C/WKPage.h M Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm M Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/_WKInspectorExtension.mm M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsInspectedWindowCocoa.mm M Tools/TestWebKitAPI/JavaScriptTest.cpp M Tools/TestWebKitAPI/Tests/WebKit/DidAssociateFormControls.cpp M Tools/TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp M Tools/TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp M Tools/TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp M Tools/TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp M Tools/TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp M Tools/TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp M Tools/TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm M Tools/TestWebKitAPI/Tests/WebKitObjC/UserContentTest.mm M Tools/WebKitTestRunner/WorkQueueManager.cpp Log Message: --- Introduce C SPI WKPageEvaluateJavaScriptInMainFrame to avoid using WKSerializedScriptValueRef https://bugs.webkit.org/show_bug.cgi?id=277522 rdar://133024450 Reviewed by Timothy Hatcher. WKPageRunJavaScriptInMainFrame returns the result as a SerializedScriptValue, which you need a JS context to do anything with. WKWebView.evaluateJavaScript returns the result as an NSNumber, NSString, NSDate, NSArray, NSDictionary, or NSNull. This does the WKTypeRef equivalent to make the C SPI look more like the public ObjC API. The next step is to stop using SerializedScriptValue and a temporary JS context just to send a result of one of these 5 types. * Source/WebKit/Shared/API/APISerializedScriptValue.cpp: Copied from Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm. (API::SharedJSContext::SharedJSContext): (API::SharedJSContext::ensureContext): (API::SharedJSContext::releaseContextIfNecessary): (API::sharedContext): (API::SerializedScriptValue::deserializeWK): * Source/WebKit/Shared/API/APISerializedScriptValue.h: * Source/WebKit/Sources.txt: * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageRunJavaScriptInMainFrame): (WKPageEvaluateJavaScriptInMainFrame): (callRunJavaScriptBlockAndRelease): Deleted. (WKPageRunJavaScriptInMainFrame_b): Deleted. * Source/WebKit/UIProcess/API/C/WKPage.h: * Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm: (API::SerializedScriptValue::deserialize): * Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.mm: * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _evaluateJavaScript:asAsyncFunction:withSourceURL:withArguments:forceUserGesture:inFrame:inWorld:completionHandler:]): * Source/WebKit/UIProcess/API/Cocoa/_WKInspectorExtension.mm: (-[_WKInspectorExtension evaluateScript:frameURL:contextSecurityOrigin:useContentScriptContext:completionHandler:]): (-[_WKInspectorExtension evaluateScript:inTabWithIdentifier:completionHandler:]): * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsInspectedWindowCocoa.mm: (WebKit::WebExtensionAPIDevToolsInspectedWindow::eval): Canonical link: https://commits.webkit.org/281812@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d3bda6: Make TestRunner.statisticsNotifyObserver return a ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d3bda6d206461de6b69b51913eff60a49b07d827 https://github.com/WebKit/WebKit/commit/d3bda6d206461de6b69b51913eff60a49b07d827 Author: Alex Christensen Date: 2024-08-01 (Thu, 01 Aug 2024) Changed paths: M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html M LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker.html M LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-loads.html M LayoutTests/http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations.html M LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/remove-website-data-for-origin-deletes-third-party-script-loads.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html M LayoutTests/http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html M LayoutTests/http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html M LayoutTests/http/tests/webAPIStatistics/font-load-data-collection.html M LayoutTests/http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html M LayoutTests/http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html M LayoutTests/http/tests/websocket/connection-refusal-in-frame-resource-load-statistics.html M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h Log Message: --- Make TestRunner.statisticsNotifyObserver return a promise https://bugs.webkit.org/show_bug.cgi?id=277468 rdar://132957567 Reviewed by Charlie Wolfe. This is a step towards making it work better with site isolation. * LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html: * LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html: * LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-import-in-worker.html: * LayoutTests/http/tests/resourceLoadStatistics/count-third-party-script-loads.html: * LayoutTests/http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations.html: * LayoutTests/http/tests/resourceLoadStatistics/dont-count-third-party-image-as-third-party-script.html: * LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: * LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: * LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: * LayoutTests/http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: * LayoutTests/http/tests/resourceLoadStatistics/non
[webkit-changes] [WebKit/WebKit] a35607: Fix TestWebKitAPI.IPCTestingAPI.SerializedTypeInfo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a35607cc53727b07928d005a860bab42fc16ebe7 https://github.com/WebKit/WebKit/commit/a35607cc53727b07928d005a860bab42fc16ebe7 Author: Alex Christensen Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in Log Message: --- Fix TestWebKitAPI.IPCTestingAPI.SerializedTypeInfo after 280942@main https://bugs.webkit.org/show_bug.cgi?id=277470 rdar://132959687 Unreviewed. The IPC test API needs more metadata. * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: Canonical link: https://commits.webkit.org/281689@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5fa09b: Deprecate injected bundle frame access interfaces
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5fa09b4d3b192cb25cff5aad2f8fe41c3210dad5 https://github.com/WebKit/WebKit/commit/5fa09b4d3b192cb25cff5aad2f8fe41c3210dad5 Author: Alex Christensen Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.h M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp M Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.h.in M Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h M Tools/TestWebKitAPI/Tests/WebKit/WebArchive_Bundle.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp M Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessExtensionTest.cpp M Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityNotificationHandler.cpp Log Message: --- Deprecate injected bundle frame access interfaces https://bugs.webkit.org/show_bug.cgi?id=276554 rdar://131635665 Reviewed by Carlos Garcia Campos. With site isolation, even the main frame might not be in the current process if the current process is the process hosting cross-site iframe content. WKBundleFrameGetParentFrame and WKBundleFrameCopyChildFrames are already deprecated, but this needs to be done too. It would be nice to deprecate webkit_web_page_get_main_frame as well, but I don't maintain that API. I'll bring it up in the mailing list. * Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.h: * Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Canonical link: https://commits.webkit.org/281688@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b4558e: Make some of WebKitTestRunner's ResourceLoadStatis...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b4558e60491710224dc1ad1337f3de2899b33a01 https://github.com/WebKit/WebKit/commit/b4558e60491710224dc1ad1337f3de2899b33a01 Author: Alex Christensen Date: 2024-07-31 (Wed, 31 Jul 2024) Changed paths: M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-to-prevalent.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-to-prevalent.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html M LayoutTests/http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html M LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion-expected.txt M LayoutTests/http/tests/resourceLoadStatistics/cookie-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html M LayoutTests/http/tests/resourceLoadStatistics/enforce-samesite-strict-based-on-top-frame-unique-redirects-to.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion-database.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/app-bound-domains-exempt-from-website-data-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion-database.html M LayoutTests/http/tests/resourceLoadStatistics/exemptDomains/managed-domains-exempt-from-website-data-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/grandfathering.html M LayoutTests/http/tests/resourceLoadStatistics/many-inserts-only-insert-once.html M LayoutTests/http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-not-removed-with-user-interaction-6-days-ago.html M LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-but-cookies-removed-with-user-interaction-7-days-ago.html M LayoutTests/http/tests/resourceLoadStatistics/operating-dates-all-website-data-removed.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html M LayoutTests/http/tests/resourceLoadStatistics/prune-statistics.html M LayoutTests/http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-filtered-link-decoration-after-long-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-filtered-link-decoration-after-short-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-filtered-link-decoration-before-short-deletion.html M LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-js-cookie-checking.html M LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-unfiltered-link-decoration-after-short-deletion.html M
[webkit-changes] [WebKit/WebKit] 4457f6: Clean up some unnecessary platform checks in Netwo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4457f650858f07c1bfb3aac21161875b5a41590c https://github.com/WebKit/WebKit/commit/4457f650858f07c1bfb3aac21161875b5a41590c Author: Alex Christensen Date: 2024-07-30 (Tue, 30 Jul 2024) Changed paths: M Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm Log Message: --- Clean up some unnecessary platform checks in NetworkStorageSessionCocoa.mm https://bugs.webkit.org/show_bug.cgi?id=277373 rdar://132842060 Reviewed by Matthew Finkel. respondsToSelector checks were necessary when introducing new SPI for cookie access and setting, but now we no longer support platforms where the new selectors aren't supported. Omitting the new code paths on tvOS and watchOS was an oversight that this is fixing, too. * Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm: (WebCore::policyProperties): (WebCore::cookiesForURL): (WebCore::NetworkStorageSession::setHTTPCookiesForURL const): Canonical link: https://commits.webkit.org/281632@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6aa3e6: Remove redundant test runner state from injected b...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6aa3e639425c8ad5803f215ff7f536756291e3b0 https://github.com/WebKit/WebKit/commit/6aa3e639425c8ad5803f215ff7f536756291e3b0 Author: Alex Christensen Date: 2024-07-30 (Tue, 30 Jul 2024) Changed paths: M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h M Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp M Tools/WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm Log Message: --- Remove redundant test runner state from injected bundle in WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=277055 rdar://132445742 Reviewed by Charlie Wolfe. This is a step towards getting TestRunner.notifyDone working better with site isolation. Instead of keeping a state, use the existence of the test runner, which we now need to null check in a few new places. * Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::done): (WTR::InjectedBundle::dumpToStdErr): (WTR::InjectedBundle::outputText): (WTR::InjectedBundle::isTestRunning): (WTR::InjectedBundle::setState): (WTR::postSynchronousPageMessage): * Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h: (WTR::InjectedBundle::isTestRunning): Deleted. * Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::postSynchronousPageMessageReturningBoolean): * Tools/WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * Tools/WebKitTestRunner/TestInvocation.h: Canonical link: https://commits.webkit.org/281631@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 85b7e8: Skip TestWebKitAPI.WebKit.ProxyConfigurationAuthen...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 85b7e8aac81a1000779770e4a158db4179713349 https://github.com/WebKit/WebKit/commit/85b7e8aac81a1000779770e4a158db4179713349 Author: Alex Christensen Date: 2024-07-29 (Mon, 29 Jul 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm Log Message: --- Skip TestWebKitAPI.WebKit.ProxyConfigurationAuthentication on pre-Sequoia macOS https://bugs.webkit.org/show_bug.cgi?id=277300 rdar://132765320 Unreviewed. It seems to be working fine on Sequoia and iOS. For a currently-unknown reason it is timing out on old macOS. That is fine in this case because it is to test a fix in 3rd party API that isn't used on old macOS, and it isn't even available on even older macOS. * Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: Canonical link: https://commits.webkit.org/281536@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4f9c07: REGRESSION (281441@main): [ macOS iOS ] TestWebKit...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4f9c076b440eca00e1d98a99a8193a34bfde5e6a https://github.com/WebKit/WebKit/commit/4f9c076b440eca00e1d98a99a8193a34bfde5e6a Author: Alex Christensen Date: 2024-07-29 (Mon, 29 Jul 2024) Changed paths: M Source/WebCore/loader/cache/CachedResourceLoader.cpp Log Message: --- REGRESSION (281441@main): [ macOS iOS ] TestWebKitAPI.WKHTTPCookieStore.SameSiteWithPatternMatch is a constant failure (277275) rdar://132751900 https://bugs.webkit.org/show_bug.cgi?id=277275 Reviewed by Matthew Finkel. We need to pass the page to FrameLoader::addSameSiteInfoToRequestIfNeeded * Source/WebCore/loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestResource): Canonical link: https://commits.webkit.org/281526@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 73b600: Update a request's SameSiteDisposition before usin...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 73b60062710e53db813763debaa06aa0defb1140 https://github.com/WebKit/WebKit/commit/73b60062710e53db813763debaa06aa0defb1140 Author: Alex Christensen Date: 2024-07-26 (Fri, 26 Jul 2024) Changed paths: M LayoutTests/platform/ios/TestExpectations M LayoutTests/platform/mac-wk2/TestExpectations M LayoutTests/platform/wk2/TestExpectations M Source/WebCore/loader/cache/CachedResourceLoader.cpp Log Message: --- Update a request's SameSiteDisposition before using it for memory cache matching https://bugs.webkit.org/show_bug.cgi?id=277186 rdar://131857779 Reviewed by Matthew Finkel. In macOS Sequoia and iOS 18, CFNetwork's default cookie samesite attribute changed from none to lax along with other browsers. This exposed an issue in our checking for Vary: Cookie header matching when considering whether to use the memory cache or not. This was found by a failure in two layout tests, http/tests/cache/disk-cache/disk-cache-vary-cookie-private.html and http/tests/cache/disk-cache/disk-cache-vary-cookie.html which showed a resource being loaded from the disk cache instead of the memory cache. After reduction and investigation and assistance from the CFNetwork team, I found we were using the SameSiteDisposition from a ResourceRequest with this stack trace: WebCore::cookieRequestHeaderFieldValue(WebCore::CookieJar const*, WebCore::ResourceRequest const&) WebCore::verifyVaryingRequestHeaders(WebCore::CookieJar const*, WTF::Vector, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::ResourceRequest const&)::$_0::operator()(WTF::String const&) const::'lambda'()::operator()() const WTF::Detail::CallableWrapper, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::ResourceRequest const&)::$_0::operator()(WTF::String const&) const::'lambda'(), WTF::String>::call() WTF::Function::operator()() const WebCore::headerValueForVary(WebCore::ResourceRequest const&, WTF::StringView, WTF::Function&&) WebCore::verifyVaryingRequestHeaders(WebCore::CookieJar const*, WTF::Vector, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::ResourceRequest const&)::$_0::operator()(WTF::String const&) const WTF::Detail::CallableWrapper, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::ResourceRequest const&)::$_0, WTF::String, WTF::String const&>::call(WTF::String const&) WTF::Function::operator()(WTF::String const&) const WebCore::verifyVaryingRequestHeadersInternal(WTF::Vector, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::Function&&) WebCore::verifyVaryingRequestHeaders(WebCore::CookieJar const*, WTF::Vector, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::ResourceRequest const&) WebCore::CachedResource::varyHeaderValuesMatch(WebCore::ResourceRequest const&) WebCore::CachedResourceLoader::determineRevalidationPolicy(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&, WebCore::CachedResource*, WebCore::CachedResourceLoader::ForPreload, WebCore::ImageLoading) const WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&&, WebCore::CachedResourceLoader::ForPreload, WebCore::ImageLoading) ... WebCore::XMLHttpRequest::send(WTF::String const&) Before we were correctly setting the SameSiteDisposition with this stack trace: WebCore::ResourceRequestBase::setIsSameSite(bool) WebCore::FrameLoader::addSameSiteInfoToRequestIfNeeded(WebCore::ResourceRequest&, WebCore::Document const*, WebCore::Page const*) WebCore::FrameLoader::updateRequestAndAddExtraFields(WebCore::Frame&, WebCore::ResourceRequest&, WebCore::IsMainResource, WebCore::FrameLoadType, WebCore::ShouldUpdateAppInitiatedValue, WebCore::FrameLoader::IsServiceWorkerNavigationLoad, WebCore::FrameLoader::WillOpenInNewWindow, WebCore::Document*) WebCore::FrameLoader::updateRequestAndAddExtraFields(WebCore::ResourceRequest&, WebCore::IsMainResource, WebCore::FrameLoadType, WebCore::ShouldUpdateAppInitiatedValue, WebCore::FrameLoader::IsServiceWorkerNavigationLoad, WebCore::FrameLoader::WillOpenInNewWindow, WebCore::Document*) WebCore::CachedResource::load(WebCore::CachedResourceLoader&) WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&&, WebCore::CachedResourceLoader::ForPreload, WebCore::ImageLoading) ... WebCore::XMLHttpRequest::send(WTF::String const&) The result was that when we called SameSiteInfo::create, ResourceRequestBase::isSameSite() was returning false when it should have been returning true, causing us to give CFNetwork a dictionary with a key of _kCFHTTPCookiePolicyPropertySiteForCookies and a value of an
[webkit-changes] [WebKit/WebKit] 972192: Extends UIDelegate interface to request supported ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9721929e8acb3a21ce5a4a774ba15a18e95072c3 https://github.com/WebKit/WebKit/commit/9721929e8acb3a21ce5a4a774ba15a18e95072c3 Author: Aleksei Marchenko Date: 2024-07-26 (Fri, 26 Jul 2024) Changed paths: M Source/WebKit/UIProcess/API/APIUIClient.h M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h M Source/WebKit/UIProcess/Cocoa/UIDelegate.h M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm M Source/WebKit/UIProcess/XR/PlatformXRCoordinator.h M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm Log Message: --- Extends UIDelegate interface to request supported XR features. https://bugs.webkit.org/show_bug.cgi?id=277161 rdar://131747551 Reviewed by Mike Wyrzykowski. Allows to request XR features from WebKit clients. By default, empty feature lists returned. * Source/WebKit/UIProcess/API/APIUIClient.h: (API::UIClient::supportedXRSessionFeatures): * Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * Source/WebKit/UIProcess/Cocoa/UIDelegate.h: * Source/WebKit/UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::supportedXRSessionFeatures): * Source/WebKit/UIProcess/XR/PlatformXRCoordinator.h: * Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp: (WebKit::PlatformXRSystem::enumerateImmersiveXRDevices): * Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h: * Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm: (WebKit::ARKitCoordinator::getPrimaryDeviceInfo): Canonical link: https://commits.webkit.org/281439@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 617566: Pass proxy authentication challenges to WKNavigati...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 617566d2fe3845a7b57723a7d150410866b8f567 https://github.com/WebKit/WebKit/commit/617566d2fe3845a7b57723a7d150410866b8f567 Author: Alex Christensen Date: 2024-07-25 (Thu, 25 Jul 2024) Changed paths: M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm Log Message: --- Pass proxy authentication challenges to WKNavigationDelegate when WKWebsiteDataStore.proxyConfigurations is set https://bugs.webkit.org/show_bug.cgi?id=276964 rdar://132331802 Reviewed by Matthew Finkel. * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h: * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): * Tools/TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: (TestWebKitAPI::TEST(WebKit, ProxyConfigurationAuthentication)): Canonical link: https://commits.webkit.org/281370@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c28953: Remove supervision clause from committer policy
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c289534e80934cfed8a0f32ac13a3cf70beb0f7f https://github.com/WebKit/WebKit/commit/c289534e80934cfed8a0f32ac13a3cf70beb0f7f Author: Alex Christensen Date: 2024-07-23 (Tue, 23 Jul 2024) Changed paths: M Websites/webkit.org/commit-review.md Log Message: --- Remove supervision clause from committer policy https://bugs.webkit.org/show_bug.cgi?id=276967 rdar://132335845 Reviewed by Alexey Proskuryakov, Geoffrey Garen and Ryosuke Niwa. This was discussed in the webkit-reviewers list, and after engagement but no opposition for over a month, we are making the change. Committers can be nominated after using the merge queue for initial contributions. * Websites/webkit.org/commit-review.md: Canonical link: https://commits.webkit.org/281257@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] cbecae: [Site Isolation] Replace WKBundleFrameIsRemote cal...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: cbecaea6c6d4dd99f1813be4ff165124abdcaf60 https://github.com/WebKit/WebKit/commit/cbecaea6c6d4dd99f1813be4ff165124abdcaf60 Author: Alex Christensen Date: 2024-07-23 (Tue, 23 Jul 2024) Changed paths: M LayoutTests/http/tests/navigation/sec-fetch-site-header-expected.txt M LayoutTests/http/tests/navigation/sec-fetch-site-header-on-crossorigin-redirection-expected.txt M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h M Tools/WebKitTestRunner/TestInvocation.cpp M Tools/WebKitTestRunner/TestInvocation.h Log Message: --- [Site Isolation] Replace WKBundleFrameIsRemote call with keeping state in UI process https://bugs.webkit.org/show_bug.cgi?id=276912 rdar://132273884 Reviewed by Charlie Wolfe. WKBundleFrameIsRemote is a function we need to remove. It can be replaced in a way that works with site isolation by keeping state in the UI process instead of the web content processes. Two tests call testRunner.dumpBackForwardList() then call testRunner.queueLoad with a cross-site URL, which used to load the second URL in a new process that doesn't have the dumpBackForwardList state, but moving the state to the UI process causes the state to be remembered. Adding some back/forward list contents to the test expectations makes the test deterministically pass and continue to test what it used to test. * Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpBackForwardList): (WTR::TestRunner::shouldDumpBackForwardListsForAllWindows const): * Tools/WebKitTestRunner/InjectedBundle/TestRunner.h: (WTR::TestRunner::shouldDumpBackForwardListsForAllWindows const): Deleted. * Tools/WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * Tools/WebKitTestRunner/TestInvocation.h: Canonical link: https://commits.webkit.org/281242@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8bf90b: Propagate user gesture during WebXR session request
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8bf90bc58f803f545ccb68369b2eb46645b6ec84 https://github.com/WebKit/WebKit/commit/8bf90bc58f803f545ccb68369b2eb46645b6ec84 Author: Aleksei Marchenko Date: 2024-07-18 (Thu, 18 Jul 2024) Changed paths: M Source/WebCore/Modules/webxr/WebXRSystem.cpp Log Message: --- Propagate user gesture during WebXR session request https://bugs.webkit.org/show_bug.cgi?id=276632 rdar://128093471 Reviewed by Jer Noble. Permission validation dialogs may take significant time for users to answer. That leads to user gesture invalidation due to timeout. This change makes sure gesture dependent functionality works as expected (e.g. audio playback) since requestSession() requires transient activation. * Source/WebCore/Modules/webxr/WebXRSystem.cpp: (WebCore::WebXRSystem::resolveFeaturePermissions const): Canonical link: https://commits.webkit.org/281105@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 60d010: Null check fetch in WebSWServerToContextConnection...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 60d010a4128bc3aef9b5f4867c487d5ff6722e24 https://github.com/WebKit/WebKit/commit/60d010a4128bc3aef9b5f4867c487d5ff6722e24 Author: Alex Christensen Date: 2024-07-15 (Mon, 15 Jul 2024) Changed paths: M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp M Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h Log Message: --- Null check fetch in WebSWServerToContextConnection destructor https://bugs.webkit.org/show_bug.cgi?id=276557 rdar://131637662 Reviewed by Brady Eidson. This fixes a crash during teardown I saw locally with this stack trace: WebKit::ServiceWorkerFetchTask::contextClosed() + 68 WebKit::WebSWServerToContextConnection::~WebSWServerToContextConnection() + 176 WebKit::WebSWServerToContextConnection::operator delete(WebKit::WebSWServerToContextConnection*, std::destroying_delete_t, unsigned long) + 16 WebKit::NetworkConnectionToWebProcess::didClose(IPC::Connection&) + 108 WTF::Detail::CallableWrapper::call() + 68 WTF::RunLoop::performWork() + 204 ... * Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp: (WebKit::WebSWServerToContextConnection::~WebSWServerToContextConnection): * Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h: Canonical link: https://commits.webkit.org/280972@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aef586: Fix internal build after rdar://130945803
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aef586e6f612ab9235f9233c8ecd5fabdba446d5 https://github.com/WebKit/WebKit/commit/aef586e6f612ab9235f9233c8ecd5fabdba446d5 Author: Alex Christensen Date: 2024-07-08 (Mon, 08 Jul 2024) Changed paths: M Source/WebCore/PAL/pal/spi/cocoa/AccessibilitySupportSPI.h M Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h Log Message: --- Fix internal build after rdar://130945803 https://bugs.webkit.org/show_bug.cgi?id=276336 Unreviewed. Someone put a #warning in an SPI header. This allows us to keep using -Werror. * Source/WebCore/PAL/pal/spi/cocoa/AccessibilitySupportSPI.h: * Source/WebKit/Platform/spi/Cocoa/AccessibilitySupportSPI.h: Canonical link: https://commits.webkit.org/280752@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a626c5: Revert accessibility pieces of 280352@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a626c5e12eff699115e6f014b4843750fff7e64f https://github.com/WebKit/WebKit/commit/a626c5e12eff699115e6f014b4843750fff7e64f Author: Alex Christensen Date: 2024-07-03 (Wed, 03 Jul 2024) Changed paths: M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm Log Message: --- Revert accessibility pieces of 280352@main https://bugs.webkit.org/show_bug.cgi?id=276186 rdar://130998804 Reviewed by Tim Horton. That change introduced an early return if a frame doesn't exist in the UI process yet, which caused an issue with accessibility registration. This early return can be hit, so I revert to previous behavior until we can find a good solution for site isolation. I looked carefully through all the changes in 280352@main and verified there are no other changes in behavior except a null check in _WKInspector.showMainResourceForFrame which would've been a crash before that change if it had been hit. * Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): * Source/WebKit/UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): Canonical link: https://commits.webkit.org/280637@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 68e1e3: Re-enable 3 API tests after 280501@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 68e1e3db3a52177b435dd0b96b0ae98efd34cd48 https://github.com/WebKit/WebKit/commit/68e1e3db3a52177b435dd0b96b0ae98efd34cd48 Author: Alex Christensen Date: 2024-07-02 (Tue, 02 Jul 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm Log Message: --- Re-enable 3 API tests after 280501@main https://bugs.webkit.org/show_bug.cgi?id=276128 rdar://130974139 Reviewed by Per Arne Vollan. 280501@main seems to have done the work to fix the tests on iOS 17, which I mistakenly thought was because of the internal vs public SDK. This unskips the tests. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST(WKAttachmentTests, InvalidateAttachmentsAfterWebProcessTermination)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: (TEST(WKNavigation, AutomaticVisibleViewReloadAfterWebProcessCrash)): (TEST(WKNavigation, AutomaticHiddenViewDelayedReloadAfterWebProcessCrash)): Canonical link: https://commits.webkit.org/280601@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 384ab1: Deprecate WKBundlePageGetPDFDocumentInFrame
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 384ab1753eb2b5c640a72bcd7b45d64f62dbe852 https://github.com/WebKit/WebKit/commit/384ab1753eb2b5c640a72bcd7b45d64f62dbe852 Author: Alex Christensen Date: 2024-07-02 (Tue, 02 Jul 2024) Changed paths: M Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.h M Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.mm Log Message: --- Deprecate WKBundlePageGetPDFDocumentInFrame https://bugs.webkit.org/show_bug.cgi?id=276144 rdar://130979489 Reviewed by Jeff Miller. * Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.h: * Source/WebKit/WebProcess/InjectedBundle/API/c/mac/WKBundlePageMac.mm: (WKBundlePageGetPDFDocumentInFrame): Canonical link: https://commits.webkit.org/280599@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 1aa903: Revert 280502@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 1aa903224d311a91648e1a979ea66c6fb344fcf5 https://github.com/WebKit/WebKit/commit/1aa903224d311a91648e1a979ea66c6fb344fcf5 Author: Alex Christensen Date: 2024-07-02 (Tue, 02 Jul 2024) Changed paths: R LayoutTests/http/tests/mime/html-with-nosniff-html-expected.txt R LayoutTests/http/tests/mime/html-with-nosniff-html.html M LayoutTests/http/tests/mime/resources/.htaccess R LayoutTests/http/tests/mime/resources/nosniff-html.html R LayoutTests/platform/glib/http/tests/mime/html-with-nosniff-html-expected.txt M LayoutTests/platform/mac-wk1/TestExpectations M LayoutTests/platform/wincairo/TestExpectations M Source/WebCore/platform/network/ios/WebCoreURLResponseIOS.mm M Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm M Source/WebCore/platform/network/mac/WebCoreURLResponse.h M Source/WebCore/platform/network/mac/WebCoreURLResponse.mm M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm Log Message: --- Revert 280502@main https://bugs.webkit.org/show_bug.cgi?id=276155 rdar://130996909 Unreviewed. It caused an issue so we are reverting while that is investigated. * LayoutTests/http/tests/mime/html-with-nosniff-html-expected.txt: Removed. * LayoutTests/http/tests/mime/html-with-nosniff-html.html: Removed. * LayoutTests/http/tests/mime/resources/.htaccess: * LayoutTests/http/tests/mime/resources/nosniff-html.html: Removed. * LayoutTests/platform/glib/http/tests/mime/html-with-nosniff-html-expected.txt: Removed. * LayoutTests/platform/mac-wk1/TestExpectations: * LayoutTests/platform/wincairo/TestExpectations: * Source/WebCore/platform/network/ios/WebCoreURLResponseIOS.mm: (WebCore::adjustMIMETypeIfNecessary): * Source/WebCore/platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm: (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]): * Source/WebCore/platform/network/mac/WebCoreURLResponse.h: * Source/WebCore/platform/network/mac/WebCoreURLResponse.mm: (WebCore::adjustMIMETypeIfNecessary): * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]): Canonical link: https://commits.webkit.org/280596@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 314148: Skip 3 API tests timing out on open source bots
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 31414893aae2abf6d1768fe481520d8289ddd0b4 https://github.com/WebKit/WebKit/commit/31414893aae2abf6d1768fe481520d8289ddd0b4 Author: Alex Christensen Date: 2024-06-28 (Fri, 28 Jun 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm Log Message: --- Skip 3 API tests timing out on open source bots https://bugs.webkit.org/show_bug.cgi?id=276010 rdar://130762747 Unreviewed. This should make iOS EWS happier until the bug is fixed. * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST(WKAttachmentTests, InvalidateAttachmentsAfterWebProcessTermination)): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: (TEST(WKNavigation, AutomaticVisibleViewReloadAfterWebProcessCrash)): (TEST(WKNavigation, AutomaticHiddenViewDelayedReloadAfterWebProcessCrash)): Canonical link: https://commits.webkit.org/280474@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] a44043: Fixes flakiness of interaction-region tests with v...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a44043d736635e7870d454f9a6cd5fce4d94825d https://github.com/WebKit/WebKit/commit/a44043d736635e7870d454f9a6cd5fce4d94825d Author: Aleksei Marchenko Date: 2024-06-28 (Fri, 28 Jun 2024) Changed paths: M LayoutTests/interaction-region/text-input-focused-edited-empty.html M LayoutTests/interaction-region/text-input-focused-edited-expected.txt M LayoutTests/interaction-region/text-input-focused-edited.html M LayoutTests/interaction-region/textarea-focused-edited-empty.html M LayoutTests/interaction-region/textarea-focused-edited-expected.txt M LayoutTests/interaction-region/textarea-focused-edited.html M LayoutTests/platform/visionos/TestExpectations Log Message: --- Fixes flakiness of interaction-region tests with virtual keyboard usage https://bugs.webkit.org/show_bug.cgi?id=275590 rdar://130034598 Reviewed by Wenson Hsieh and Tim Horton. When interaction-region tests run back-to-back in some cases virtual keyboard input is not registered on the page that leads to flaky results. By adding virtual keyboard call in a loop and validating element's value, tests act much more consistently. * LayoutTests/interaction-region/text-input-focused-edited-empty.html: * LayoutTests/interaction-region/text-input-focused-edited-expected.txt: * LayoutTests/interaction-region/text-input-focused-edited.html: * LayoutTests/interaction-region/textarea-focused-edited-empty.html: * LayoutTests/interaction-region/textarea-focused-edited-expected.txt: * LayoutTests/interaction-region/textarea-focused-edited.html: * LayoutTests/platform/visionos/TestExpectations: Canonical link: https://commits.webkit.org/280465@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] aebc03: Fix some issues with WKWebView._loadAndDecodeImage
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aebc0351b4ab94efb0b2122ceb28425c36987096 https://github.com/WebKit/WebKit/commit/aebc0351b4ab94efb0b2122ceb28425c36987096 Author: Alex Christensen Date: 2024-06-27 (Thu, 27 Jun 2024) Changed paths: M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in M Source/WebKit/NetworkProcess/NetworkSession.h M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/Authentication/AuthenticationManager.h M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp M Source/WebKit/WebProcess/WebPage/WebPage.h M Source/WebKit/WebProcess/WebPage/WebPage.messages.in M Tools/TestWebKitAPI/Tests/WebKitCocoa/LoadAndDecodeImage.mm Log Message: --- Fix some issues with WKWebView._loadAndDecodeImage https://bugs.webkit.org/show_bug.cgi?id=275922 rdar://130624565 Reviewed by Tim Horton. The biggest issue was that all https requests would fail during the TLS handshake. That's not ideal. Fix this by using NetworkDataTaskCocoa instead of NSURLSession's dataTaskWithRequest:completionHandler and collect the data ourselves. Another issue was there was no way to specify a maximum number of bytes to receive from the network. Since we are using NetworkDataTaskCocoa we can do this now too. * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::loadImageForDecoding): * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h: * Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in: * Source/WebKit/NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::loadImageForDecoding): * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h: * Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm: (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]): (WebKit::NetworkSessionCocoa::loadImageForDecoding): * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/Authentication/AuthenticationManager.h: * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _loadAndDecodeImage:constrainedToSize:maximumBytesFromNetwork:completionHandler:]): (-[WKWebView _loadAndDecodeImage:constrainedToSize:completionHandler:]): Deleted. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadAndDecodeImage): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadAndDecodeImage): * Source/WebKit/WebProcess/WebPage/WebPage.h: * Source/WebKit/WebProcess/WebPage/WebPage.messages.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/LoadAndDecodeImage.mm: (TestWebKitAPI::TEST(WebKit, LoadAndDecodeImage)): Canonical link: https://commits.webkit.org/280420@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3fcd22: Fix TestWebKitAPI.IPCTestingAPI.SerializedTypeInfo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3fcd2236523c0c65609407eed1ff48fd0f7e12b9 https://github.com/WebKit/WebKit/commit/3fcd2236523c0c65609407eed1ff48fd0f7e12b9 Author: Alex Christensen Date: 2024-06-26 (Wed, 26 Jun 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Fix TestWebKitAPI.IPCTestingAPI.SerializedTypeInfo in released OSes after 280229@main https://bugs.webkit.org/show_bug.cgi?id=275932 rdar://130631760 Unreviewed. This should fix the debug-only API test results. * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (SerializedTypeInfo)): Canonical link: https://commits.webkit.org/280400@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e93261: Expose missing enum metadata to IPC testing API
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e932616cfc34ba9a2c02f0e565efba308749257b https://github.com/WebKit/WebKit/commit/e932616cfc34ba9a2c02f0e565efba308749257b Author: Alex Christensen Date: 2024-06-26 (Wed, 26 Jun 2024) Changed paths: M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.messages.in M Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.messages.in M Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.serialization.in M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.messages.in M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/GPU/GPUProcessConnection.messages.in M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in M Source/WebKit/WebProcess/GPU/media/RemoteAudioSessionConfiguration.serialization.in M Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.messages.in M Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in M Source/WebKit/WebProcess/WebPage/WebPage.messages.in M Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.messages.in M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Expose missing enum metadata to IPC testing API https://bugs.webkit.org/show_bug.cgi?id=275888 Reviewed by Andy Estes. If an enum is sent over IPC as a parameter and not as a member of another structure, it is exposed to the IPC testing API in a way I had missed before. This makes the API test notice the need for metadata for such enums, and it exposes the metadata. * Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.messages.in: * Source/WebKit/GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in: * Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.messages.in: * Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.messages.in: * Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.serialization.in: * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.messages.in: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/GPU/GPUProcessConnection.messages.in: * Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in: * Source/WebKit/WebProcess/GPU/media/RemoteAudioSessionConfiguration.serialization.in: * Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.messages.in: * Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in: * Source/WebKit/WebProcess/WebPage/WebPage.messages.in: * Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.messages.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (SerializedTypeInfo)): Canonical link: https://commits.webkit.org/280389@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 22ddcd: [Site Isolation] Reduce use of legacyMainFrameProcess
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 22ddcd61c1477e712bd375196ab1193e1f7c8d02 https://github.com/WebKit/WebKit/commit/22ddcd61c1477e712bd375196ab1193e1f7c8d02 Author: Alex Christensen Date: 2024-06-25 (Tue, 25 Jun 2024) Changed paths: M Source/WebKit/UIProcess/API/C/WKInspector.cpp M Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm M Source/WebKit/UIProcess/API/gtk/WebKitPrintOperation.cpp M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp M Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm Log Message: --- [Site Isolation] Reduce use of legacyMainFrameProcess https://bugs.webkit.org/show_bug.cgi?id=275840 rdar://130480207 Reviewed by Charlie Wolfe and Sihui Liu. If we are sending a message and have a frameID, use that frameID to get the process to send to. * Source/WebKit/UIProcess/API/C/WKInspector.cpp: (WKInspectorShowMainResourceForFrame): * Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm: (-[_WKInspector showMainResourceForFrame:]): * Source/WebKit/UIProcess/API/gtk/WebKitPrintOperation.cpp: (webkitPrintOperationPrintPagesForFrame): (webkitPrintOperationSendPagesToPrintPortal): * Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::contentFilterDidBlockLoadForFrame): * Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp: (WebKit::WebInspectorUIProxy::showMainResourceForFrame): * Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h: * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::navigateServiceWorkerClient): (WebKit::WebFrameProxy::bindAccessibilityFrameWithData): (WebKit::WebFrameProxy::loadURL): (WebKit::WebFrameProxy::loadData): (WebKit::WebFrameProxy::collapseSelection): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::handleMouseEventReply): (WebKit::WebPageProxy::sendMouseEvent): (WebKit::WebPageProxy::processNextQueuedMouseEvent): (WebKit::WebPageProxy::drawPagesForPrinting): (WebKit::WebPageProxy::sendSyncToProcessContainingFrame): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): (WebKit::WebPageProxy::computePagesForPrintingiOS): (WebKit::WebPageProxy::drawToPDFiOS): (WebKit::WebPageProxy::drawToImage): * Source/WebKit/UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): Canonical link: https://commits.webkit.org/280352@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6cc8c3: [Site Isolation] Reduce use of WebPageProxy::legac...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6cc8c3385fbb750bc1bee3468252126981bf8f69 https://github.com/WebKit/WebKit/commit/6cc8c3385fbb750bc1bee3468252126981bf8f69 Author: Alex Christensen Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/mac/WKPrintingView.mm Log Message: --- [Site Isolation] Reduce use of WebPageProxy::legacyMainFrame https://bugs.webkit.org/show_bug.cgi?id=275837 rdar://130469910 Reviewed by Charlie Wolfe. In order to add optional parameters to sendToProcessContainingFrame I needed to rename one to sendWithAsyncReplyToProcessContainingFrame. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageDrawPagesToPDF): * Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp: (WebKit::WebAutomationSession::resolveChildFrameHandle): (WebKit::WebAutomationSession::resolveParentFrameHandle): (WebKit::WebAutomationSession::computeElementLayout): (WebKit::WebAutomationSession::getComputedRole): (WebKit::WebAutomationSession::getComputedLabel): (WebKit::WebAutomationSession::selectOptionElement): (WebKit::WebAutomationSession::setFilesForInputFileUpload): (WebKit::WebAutomationSession::viewportInViewCenterPointOfElement): (WebKit::WebAutomationSession::takeScreenshot): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::executeEditCommand): (WebKit::WebPageProxy::performDragControllerAction): (WebKit::WebPageProxy::dragEnded): (WebKit::WebPageProxy::sendMouseEvent): (WebKit::WebPageProxy::sendWheelEvent): (WebKit::WebPageProxy::sendKeyEvent): (WebKit::WebPageProxy::sendGestureEvent): (WebKit::WebPageProxy::sendPreventableTouchEvent): (WebKit::WebPageProxy::sendUnpreventableTouchEvent): (WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld): (WebKit::WebPageProxy::setTextIndicatorFromFrame): (WebKit::WebPageProxy::showPopupMenuFromFrame): (WebKit::WebPageProxy::showContextMenuFromFrame): (WebKit::WebPageProxy::beginPrinting): (WebKit::WebPageProxy::computePagesForPrinting): (WebKit::WebPageProxy::drawRectToImage): (WebKit::WebPageProxy::drawPagesToPDF): (WebKit::WebPageProxy::didPerformImmediateActionHitTest): (WebKit::WebPageProxy::sendWithAsyncReplyToProcessContainingFrame): (WebKit::WebPageProxy::sendToProcessContainingFrame): (WebKit::WebPageProxy::sendScrollPositionChangedForNode): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/mac/WKPrintingView.mm: (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): (-[WKPrintingView _drawPreview:]): Canonical link: https://commits.webkit.org/280320@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] bd9c64: [Site Isolation] Implement WKURLSchemeTask and oth...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bd9c64f97ce9b896c4c2531ff080ed0bdede5d85 https://github.com/WebKit/WebKit/commit/bd9c64f97ce9b896c4c2531ff080ed0bdede5d85 Author: Alex Christensen Date: 2024-06-24 (Mon, 24 Jun 2024) Changed paths: M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebURLSchemeTask.cpp M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Implement WKURLSchemeTask and otherwise reduce use of legacyMainFrameProcess https://bugs.webkit.org/show_bug.cgi?id=275784 rdar://130344439 Reviewed by Brady Eidson. While reducing use of legacyMainFrameProcess I found a few of them were related to WKURLSchemeTask, so I got that completely working with a test. * Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTreeTransaction): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: (WebKit::RemoteScrollingCoordinatorProxy::commitScrollingTreeState): * Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::startURLSchemeTask): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::processForNavigationInternal): * Source/WebKit/UIProcess/WebURLSchemeTask.cpp: (WebKit::WebURLSchemeTask::willPerformRedirection): * Source/WebKit/UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::setPromisedDataForImage): (WebKit::WebPageProxy::executeSavedCommandBySelector): * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::siteIsolatedViewAndDelegate): (TestWebKitAPI::TEST(SiteIsolation, URLSchemeTask)): Canonical link: https://commits.webkit.org/280311@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f47bfd: Align CocoaColor IPC metadata with actual definition
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f47bfdae53699b5e67a16a4055889ac07c7a5c4d https://github.com/WebKit/WebKit/commit/f47bfdae53699b5e67a16a4055889ac07c7a5c4d Author: Alex Christensen Date: 2024-06-22 (Sat, 22 Jun 2024) Changed paths: M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in Log Message: --- Align CocoaColor IPC metadata with actual definition https://bugs.webkit.org/show_bug.cgi?id=275772 rdar://130320800 Reviewed by Youenn Fablet. This is responding to Youenn's excellent review feedback on 280068@main which I didn't notice until after it was merged. * Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in: Canonical link: https://commits.webkit.org/280279@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 389b19: Mark http/tests/site-isolation/basic-iframe-render...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 389b192fddf2d55e2c24e375cd1c574133a08257 https://github.com/WebKit/WebKit/commit/389b192fddf2d55e2c24e375cd1c574133a08257 Author: Alex Christensen Date: 2024-06-21 (Fri, 21 Jun 2024) Changed paths: M LayoutTests/platform/ios/TestExpectations Log Message: --- Mark http/tests/site-isolation/basic-iframe-render-output.html as no longer flaky on iOS https://bugs.webkit.org/show_bug.cgi?id=275769 rdar://130319244 Unreviewed. It is no longer flaky. * LayoutTests/platform/ios/TestExpectations: Canonical link: https://commits.webkit.org/280272@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4e90d1: [Site Isolation] Main frame should be able to foll...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4e90d1362a81062676d53c0807532f90dd25bff7 https://github.com/WebKit/WebKit/commit/4e90d1362a81062676d53c0807532f90dd25bff7 Author: Alex Christensen Date: 2024-06-21 (Fri, 21 Jun 2024) Changed paths: M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Main frame should be able to follow redirects on second navigation https://bugs.webkit.org/show_bug.cgi?id=275753 rdar://130300581 Reviewed by Sihui Liu. There were a few places in ProvisionalPageProxy where we only reused the main frame and identifier when window.open was called, and it is important to use it in that case. It is also important to reuse the main frame and identifier when site isolation is on but there is no opener because otherwise the process selection logic gets messed up and we are unable to load in the main frame any more. * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::initializeWebPage): (WebKit::ProvisionalPageProxy::didCreateMainFrame): * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST(SiteIsolation, MainFrameRedirectBetweenExistingProcesses)): Canonical link: https://commits.webkit.org/280267@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3d323c: Fix mac catalyst build after 280258@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3d323c5957397780b9769614a0a9c5c87020f006 https://github.com/WebKit/WebKit/commit/3d323c5957397780b9769614a0a9c5c87020f006 Author: Alex Christensen Date: 2024-06-21 (Fri, 21 Jun 2024) Changed paths: M Source/WebKit/UIProcess/Cocoa/TextCheckingController.mm Log Message: --- Fix mac catalyst build after 280258@main https://bugs.webkit.org/show_bug.cgi?id=275764 rdar://130307112 Unreviewed. * Source/WebKit/UIProcess/Cocoa/TextCheckingController.mm: (WebKit::TextCheckingController::replaceRelativeToSelection): (WebKit::TextCheckingController::removeAnnotationRelativeToSelection): Canonical link: https://commits.webkit.org/280266@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 85ca0b: Further reduce use of legacyMainFrameProcess
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 85ca0b3686dca416aad8618a5f23558e49dc432a https://github.com/WebKit/WebKit/commit/85ca0b3686dca416aad8618a5f23558e49dc432a Author: Alex Christensen Date: 2024-06-21 (Fri, 21 Jun 2024) Changed paths: M Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h M Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.mm M Source/WebKit/Shared/API/Cocoa/WKBrowsingContextHandle.mm M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp M Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm M Source/WebKit/UIProcess/Cocoa/UIRemoteObjectRegistry.cpp M Source/WebKit/UIProcess/Cocoa/UIRemoteObjectRegistry.h M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionDynamicScriptsCocoa.mm M Source/WebKit/UIProcess/FindStringCallbackAggregator.cpp M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp M Source/WebKit/UIProcess/GeolocationPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/Inspector/InspectorTargetProxy.cpp M Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.cpp M Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp M Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp M Source/WebKit/UIProcess/Inspector/WebPageInspectorController.cpp M Source/WebKit/UIProcess/Inspector/mac/RemoteWebInspectorUIProxyMac.mm M Source/WebKit/UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm M Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp M Source/WebKit/UIProcess/MediaKeySystemPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.mm M Source/WebKit/UIProcess/RemotePageProxy.cpp M Source/WebKit/UIProcess/RemotePageProxy.h M Source/WebKit/UIProcess/SuspendedPageProxy.cpp M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/ViewGestureController.cpp M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp M Source/WebKit/UIProcess/WebEditCommandProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebScreenOrientationManagerProxy.cpp M Source/WebKit/UIProcess/WebURLSchemeTask.cpp M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm M Source/WebKit/UIProcess/glib/WebPageProxyGLib.cpp M Source/WebKit/UIProcess/gstreamer/WebPageProxyGStreamer.cpp M Source/WebKit/UIProcess/gtk/WebPageProxyGtk.cpp M Source/WebKit/UIProcess/ios/SmartMagnificationController.mm M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm M Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.mm M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm M Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm M Source/WebKit/UIProcess/mac/WKImmediateActionController.mm M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKit/UIProcess/playstation/WebPageProxyPlayStation.cpp M Source/WebKit/UIProcess/win/WebPageProxyWin.cpp M Source/WebKit/UIProcess/wpe/WebPageProxyWPE.cpp M Source/WebKit/WebProcess/WebPage/Cocoa/WebRemoteObjectRegistry.cpp M Source/WebKit/WebProcess/WebPage/Cocoa/WebRemoteObjectRegistry.h Log Message: --- Further reduce use of legacyMainFrameProcess https://bugs.webkit.org/show_bug.cgi?id=275591 rdar://130034699 Reviewed by Charlie Wolfe. This may look like it increases use of legacyMainFrameProcess, but it removes an important central use of it. WebPageProxy can't be a MessageSender with site isolation because instead of just sending a message to its web content process, we now need to answer the question, "which web content process?". To help us keep track of places we h
[webkit-changes] [WebKit/WebKit] a9af73: Stop using ObjC deserialization for data detector ...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a9af73c026a37413e4ed0b83e37baee1ad562f06 https://github.com/WebKit/WebKit/commit/a9af73c026a37413e4ed0b83e37baee1ad562f06 Author: Alex Christensen Date: 2024-06-20 (Thu, 20 Jun 2024) Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm M Source/WebKit/Shared/Cocoa/CoreIPCDDActionContext.serialization.in M Source/WebKit/Shared/Cocoa/CoreIPCDDScannerResult.serialization.in M Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.h M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Stop using ObjC deserialization for data detector classes on platforms that can support WK secure coding https://bugs.webkit.org/show_bug.cgi?id=275534 Reviewed by Brady Eidson. This changes a runtime check to a compile time check, and it exposes the needed IPC metadata to the IPC testing API. * Source/WTF/wtf/PlatformHave.h: * Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.mm: (IPC::secureCodingOrWrapper): Deleted. (IPC::decodeSecureCodingOrWrapper): Deleted. (IPC::encodeObjectDirectly): Deleted. (IPC::decodeObjectDirectlyRequiringAllowedClasses): Deleted. (IPC::encodeObjectDirectly): Deleted. (IPC::decodeObjectDirectlyRequiringAllowedClasses): Deleted. * Source/WebKit/Shared/Cocoa/CoreIPCDDActionContext.serialization.in: * Source/WebKit/Shared/Cocoa/CoreIPCDDScannerResult.serialization.in: * Source/WebKit/Shared/Cocoa/CoreIPCNSCFObject.h: * Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (SerializedTypeInfo)): Canonical link: https://commits.webkit.org/280229@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] af82d0: Effectively revert 278995@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: af82d039befef621d3c29eac32a787a727a5deb4 https://github.com/WebKit/WebKit/commit/af82d039befef621d3c29eac32a787a727a5deb4 Author: Alex Christensen Date: 2024-06-20 (Thu, 20 Jun 2024) Changed paths: M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h Log Message: --- Effectively revert 278995@main https://bugs.webkit.org/show_bug.cgi?id=275708 rdar://129130217 Reviewed by Abrar Rahman Protyasha. In 278995@main I introduced a cool new model of writing asynchronous code and started using it for WebPageProxy::decidePolicyForNavigationAction. However, when callCoroutine is called, the call frame of its lambda is leaked because the return value of the Function is discarded. This caused a 64 byte memory leak every time a frame is navigated. Straightforward changes introduce memory management issues, so until I figure out what to do, let's just make the code do what it used to without coroutines for the lowest risk change. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::decidePolicyForNavigationAction): (WebKit::WebPageProxy::awaitableDecidePolicyForNavigationAction): Deleted. (WebKit::WebPageProxy::continueDecidePolicyForNavigationAction): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/280228@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 619fc6: Begin using C++23 in WebKit
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 619fc6ba91904ac0c00f3b27bd00d67869f84b50 https://github.com/WebKit/WebKit/commit/619fc6ba91904ac0c00f3b27bd00d67869f84b50 Author: Alex Christensen Date: 2024-06-20 (Thu, 20 Jun 2024) Changed paths: M CMakeLists.txt M Configurations/CommonBase.xcconfig M Source/JavaScriptCore/Configurations/Base.xcconfig M Source/JavaScriptCore/DerivedSources.make M Source/ThirdParty/ANGLE/Configurations/Base.xcconfig M Source/ThirdParty/gmock/Configurations/Base.xcconfig M Source/ThirdParty/gtest/xcode/Config/General.xcconfig M Source/ThirdParty/libwebrtc/CMakeLists.txt M Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig M Source/WTF/Configurations/Base.xcconfig M Source/WebCore/Configurations/Base.xcconfig M Source/WebCore/DerivedSources.make M Source/WebCore/PAL/Configurations/Base.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig M Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig M Source/WebGPU/Configurations/Base.xcconfig M Source/WebInspectorUI/Configurations/Base.xcconfig M Source/WebKit/Configurations/Base.xcconfig M Source/WebKit/DerivedSources.make M Source/WebKit/PlatformMac.cmake M Source/WebKitLegacy/PlatformMac.cmake M Source/WebKitLegacy/mac/Configurations/Base.xcconfig M Source/bmalloc/Configurations/Base.xcconfig M Source/bmalloc/libpas/CMakeLists.txt M Source/cmake/OptionsCommon.cmake M Source/cmake/WebKitCompilerFlags.cmake M Tools/DumpRenderTree/DerivedSources.make M Tools/DumpRenderTree/mac/Configurations/Base.xcconfig M Tools/MiniBrowser/Configurations/Base.xcconfig M Tools/MobileMiniBrowser/Configurations/Base.xcconfig M Tools/Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl M Tools/TestWebKitAPI/Configurations/Base.xcconfig M Tools/WebGPUPlayground/Configurations/Base.xcconfig M Tools/WebKitTestRunner/Configurations/Base.xcconfig M Tools/WebKitTestRunner/DerivedSources.make M Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig Log Message: --- Begin using C++23 in WebKit https://bugs.webkit.org/show_bug.cgi?id=263122 rdar://116922827 Reviewed by Yusuke Suzuki, Abrar Rahman Protyasha and Dan Glastonbury. * CMakeLists.txt: * Configurations/CommonBase.xcconfig: * Source/JavaScriptCore/Configurations/Base.xcconfig: * Source/JavaScriptCore/DerivedSources.make: * Source/ThirdParty/ANGLE/Configurations/Base.xcconfig: * Source/ThirdParty/gmock/Configurations/Base.xcconfig: * Source/ThirdParty/gtest/xcode/Config/General.xcconfig: * Source/ThirdParty/libwebrtc/CMakeLists.txt: * Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig: * Source/WTF/Configurations/Base.xcconfig: * Source/WebCore/Configurations/Base.xcconfig: * Source/WebCore/DerivedSources.make: * Source/WebCore/PAL/Configurations/Base.xcconfig: * Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig: * Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig: * Source/WebGPU/Configurations/Base.xcconfig: * Source/WebInspectorUI/Configurations/Base.xcconfig: * Source/WebKit/Configurations/Base.xcconfig: * Source/WebKit/DerivedSources.make: * Source/WebKit/PlatformMac.cmake: * Source/WebKitLegacy/PlatformMac.cmake: * Source/WebKitLegacy/mac/Configurations/Base.xcconfig: * Source/bmalloc/Configurations/Base.xcconfig: * Source/bmalloc/libpas/CMakeLists.txt: * Source/cmake/OptionsCommon.cmake: * Source/cmake/WebKitCompilerFlags.cmake: * Tools/DumpRenderTree/DerivedSources.make: * Tools/DumpRenderTree/mac/Configurations/Base.xcconfig: * Tools/MiniBrowser/Configurations/Base.xcconfig: * Tools/MobileMiniBrowser/Configurations/Base.xcconfig: * Tools/Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: * Tools/TestWebKitAPI/Configurations/Base.xcconfig: * Tools/WebGPUPlayground/Configurations/Base.xcconfig: * Tools/WebKitTestRunner/Configurations/Base.xcconfig: * Tools/WebKitTestRunner/DerivedSources.make: * Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig: Canonical link: https://commits.webkit.org/280217@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6a853b: Use WTF::forward_like instead of std::forward_like
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6a853b6f4759c039ccc6764a2614251a27e2a6c4 https://github.com/WebKit/WebKit/commit/6a853b6f4759c039ccc6764a2614251a27e2a6c4 Author: Alex Christensen Date: 2024-06-19 (Wed, 19 Jun 2024) Changed paths: M Source/WTF/wtf/StdLibExtras.h M Source/WebKit/Platform/IPC/ArgumentCoders.h Log Message: --- Use WTF::forward_like instead of std::forward_like https://bugs.webkit.org/show_bug.cgi?id=275654 rdar://130130589 Reviewed by Yusuke Suzuki. Microsoft's STL implementation uses an inferred return type, and clang has some difficulty seeing that it is actually defined before it is used. I'm sure we can eventually move back to using std::forward_like, but since that is the only known blocker to C++23 adoption, let's do this now and figure out how to switch back to std::forward_like later. * Source/WTF/wtf/StdLibExtras.h: (std::forward_like): Deleted. * Source/WebKit/Platform/IPC/ArgumentCoders.h: (IPC::ArgumentCoder>::encode): (IPC::ArgumentCoder>::encode): Canonical link: https://commits.webkit.org/280187@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f073c5: Remove Vector's non-template span constructor
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f073c579307b9ec68d39da3ef4670796dd05894f https://github.com/WebKit/WebKit/commit/f073c579307b9ec68d39da3ef4670796dd05894f Author: Alex Christensen Date: 2024-06-19 (Wed, 19 Jun 2024) Changed paths: M Source/WTF/wtf/Vector.h M Source/WebCore/crypto/cocoa/CryptoKeyOKPCocoa.cpp M Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.cpp M Source/WebCore/platform/graphics/gstreamer/VideoEncoderGStreamer.cpp Log Message: --- Remove Vector's non-template span constructor https://bugs.webkit.org/show_bug.cgi?id=275638 rdar://130130388 Reviewed by Sam Weinig. A std::span can be constructed from a range, so when any compiler is using Microsoft's STL using C++23 and compiles a file that includes IDBKeyData.h, it causes a confusing compiler error because the std::variant implementation checks std::is_trivially_move_constructible on all the types, which tries to instantiate the move constructor of each type, which finds the std::span constructor of Vector that is not a templatized constructor so it is not a substitution error, it is a compiler error. The constructor was only there to help with constructing Vectors from std::arrays, so instead we just add a template constructor that takes a std::array and makes a std::span from it. This covers all the uses except 2 in CryptoKeyOKPCocoa.cpp where we were trying to make a Vector from a uint8[32] so for those cases we just explicitly make a std::span and 2 in {Audio,Video}EncoderGStreamer.cpp where we need to explicitly call the std::span constructor to make an optional vector. I think this is the second to last blocker to us adopting C++23. * Source/WTF/wtf/Vector.h: (WTF::Vector::Vector): * Source/WebCore/crypto/cocoa/CryptoKeyOKPCocoa.cpp: (WebCore::CryptoKeyOKP::platformGeneratePair): * Source/WebCore/platform/audio/gstreamer/AudioEncoderGStreamer.cpp: (WebCore::GStreamerInternalAudioEncoder::GStreamerInternalAudioEncoder): Canonical link: https://commits.webkit.org/280183@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] f66f87: [Site Isolation] Reduce use of WebPageProxy::legac...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f66f87f9c3b4e68a9abcbb6856aab08415b593d5 https://github.com/WebKit/WebKit/commit/f66f87f9c3b4e68a9abcbb6856aab08415b593d5 Author: Alex Christensen Date: 2024-06-17 (Mon, 17 Jun 2024) Changed paths: M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h M Source/WebKit/Scripts/webkit/tests/TestWithoutUsingIPCConnectionMessages.h M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h Log Message: --- [Site Isolation] Reduce use of WebPageProxy::legacyMainFrameProcess https://bugs.webkit.org/show_bug.cgi?id=275568 rdar://130008856 Reviewed by Charlie Wolfe. Use sendToProcessContainingFrame instead when there is a FrameIdentifier indicating the receiving frame. With site isolation off, the behavior is the same because there is only one web process. * Source/WebKit/Scripts/webkit/messages.py: (message_to_struct_declaration): * Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp: (WebKit::WebAutomationSession::evaluateJavaScriptFunction): (WebKit::WebAutomationSession::resolveChildFrameHandle): (WebKit::WebAutomationSession::resolveParentFrameHandle): (WebKit::WebAutomationSession::computeElementLayout): (WebKit::WebAutomationSession::getComputedRole): (WebKit::WebAutomationSession::getComputedLabel): (WebKit::WebAutomationSession::selectOptionElement): (WebKit::WebAutomationSession::setFilesForInputFileUpload): (WebKit::WebAutomationSession::viewportInViewCenterPointOfElement): (WebKit::WebAutomationSession::takeScreenshot): * Source/WebKit/UIProcess/WebPageProxy.cpp: * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/280088@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b97094: Expose more struct metadata to IPC testing API on iOS
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b970949a77daf4cf3b67082aedb76efdfbbab050 https://github.com/WebKit/WebKit/commit/b970949a77daf4cf3b67082aedb76efdfbbab050 Author: Alex Christensen Date: 2024-06-17 (Mon, 17 Jun 2024) Changed paths: M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in M Source/WebKit/UIProcess/WebPageProxy.messages.in M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Expose more struct metadata to IPC testing API on iOS https://bugs.webkit.org/show_bug.cgi?id=275538 rdar://129928575 Reviewed by Youenn Fablet. * Source/WebKit/Scripts/webkit/messages.py: (headers_for_type): * Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in: * Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (SerializedTypeInfo)): Canonical link: https://commits.webkit.org/280068@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] e040ce: Fix TestWebKitAPI.IPCTestingAPI.SerializedTypeInfo...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: e040ce247f7fff138b33e78664e3a729a38e737c https://github.com/WebKit/WebKit/commit/e040ce247f7fff138b33e78664e3a729a38e737c Author: Alex Christensen Date: 2024-06-15 (Sat, 15 Jun 2024) Changed paths: M Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in Log Message: --- Fix TestWebKitAPI.IPCTestingAPI.SerializedTypeInfo on platforms with ENABLE(WRITING_TOOLS) after 279890@main https://bugs.webkit.org/show_bug.cgi?id=275535 rdar://129925610 Reviewed by Richard Robinson, Aditya Keerthi and Wenson Hsieh. Some identifier metadata wasn't exposed to the IPC test API. * Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.serialization.in: Canonical link: https://commits.webkit.org/280055@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 6d846c: Constructing a BlockPtr from a block with ARC shou...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6d846c2e12f409c1e6927fd047fba221e85d1b25 https://github.com/WebKit/WebKit/commit/6d846c2e12f409c1e6927fd047fba221e85d1b25 Author: Alex Christensen Date: 2024-06-15 (Sat, 15 Jun 2024) Changed paths: M Source/WTF/wtf/BlockPtr.h Log Message: --- Constructing a BlockPtr from a block with ARC should not move the block https://bugs.webkit.org/show_bug.cgi?id=275523 Reviewed by Abrar Rahman Protyasha. When using clang with C++23, this change is needed to prevent crashes. With ARC, if we are assigning a block to a strong block pointer, we don't need the WTFMove. * Source/WTF/wtf/BlockPtr.h: (WTF::BlockPtrhttps://commits.webkit.org/280049@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 290a92: Revert some of 279291@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 290a924088a9290988ecb021be2e507bbaf74e7e https://github.com/WebKit/WebKit/commit/290a924088a9290988ecb021be2e507bbaf74e7e Author: Alex Christensen Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M Source/WebKit/UIProcess/API/APINavigation.cpp M Source/WebKit/UIProcess/API/APINavigation.h M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp M Source/WebKit/UIProcess/ProvisionalFrameProxy.h M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.h Log Message: --- Revert some of 279291@main https://bugs.webkit.org/show_bug.cgi?id=275287 rdar://129429639 Reviewed by Simon Fraser. 279291@main was preparing for a change that we have since learned we don't want to make. This reverts the parts of it that had to do with moving the ProvisionalFrameProxy ownership to the API::Navigation. * Source/WebKit/UIProcess/API/APINavigation.cpp: (API::Navigation::setProvisionalFrame): Deleted. * Source/WebKit/UIProcess/API/APINavigation.h: (API::Navigation::provisionalFrame): Deleted. * Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp: (WebKit::ProvisionalFrameProxy::create): Deleted. * Source/WebKit/UIProcess/ProvisionalFrameProxy.h: * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::takeProvisionalFrame): (WebKit::WebFrameProxy::prepareForProvisionalLoadInProcess): * Source/WebKit/UIProcess/WebFrameProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::goToBackForwardItem): (WebKit::WebPageProxy::receivedNavigationActionPolicyDecision): (WebKit::WebPageProxy::continueNavigationInNewProcess): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createDocumentLoader): Canonical link: https://commits.webkit.org/279851@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] b99b53: Access a WebPageProxy's WebProcessPool through its...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: b99b53ff6578801e45229237deea13ec1ba8563c https://github.com/WebKit/WebKit/commit/b99b53ff6578801e45229237deea13ec1ba8563c Author: Alex Christensen Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.cpp M Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPreferences.cpp M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm M Source/WebKit/UIProcess/ios/WKContentView.mm M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm Log Message: --- Access a WebPageProxy's WebProcessPool through its configuration instead of its main frame process https://bugs.webkit.org/show_bug.cgi?id=275284 rdar://129425265 Reviewed by Charlie Wolfe. This is the broadest and lowest risk way to quickly reduce use of WebPageProxy::legacyMainFrameProcess. The two paths reach the same WebProcessPool. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageGetContext): (WKPageGetGPUProcessIdentifier): (WKPageSetMockCaptureDevicesInterrupted): (WKPageTriggerMockCaptureConfigurationChange): * Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm: (WKPageIsURLKnownHSTSHost): * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView dealloc]): (-[WKWebView _remoteObjectRegistry]): (-[WKWebView _clearBackForwardCache]): * Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _hasServiceWorkerBackgroundActivityForTesting]): (-[WKWebView _hasServiceWorkerForegroundActivityForTesting]): (-[WKWebView _gpuToWebProcessConnectionCountForTesting:]): * Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm: (WebKit::VideoPresentationManagerProxy::createLayerHostViewWithID): * Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm: (WebKit::WebExtensionController::addPage): (WebKit::WebExtensionController::removePage): (WebKit::WebExtensionController::removeProcessPool): * Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.cpp: (WebKit::UIGamepadProvider::gamepadSyncTimerFired): (WebKit::UIGamepadProvider::viewBecameActive): * Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp: (WebKit::WebInspectorUIProxy::frontendLoaded): * Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm: (WebKit::RemoteLayerTreeDrawingAreaProxyMac::existingDisplayLink): (WebKit::RemoteLayerTreeDrawingAreaProxyMac::displayLink): * Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::processUserMediaPermissionValidRequest): * Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp: (WebKit::WebFullScreenManagerProxy::didEnterFullScreen): (WebKit::WebFullScreenManagerProxy::didExitFullScreen): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::gpuProcessID const): (WebKit::WebPageProxy::modelProcessID const): (WebKit::WebPageProxy::backForwardCache const): (WebKit::WebPageProxy::close): (WebKit::WebPageProxy::reload): (WebKit::WebPageProxy::wheelEventHandlingCompleted): (WebKit::WebPageProxy::receivedNavigationActionPolicyDecision): (WebKit::WebPageProxy::didDestroyFrame): (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): (WebKit::WebPageProxy::didFinishLoadForFrame): (WebKit::WebPageProxy::didFailLoadForFrame): (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): (WebKit::WebPageProxy::didSameDocumentNavigationForFrameViaJSHistoryAPI): (WebKit::WebPageProxy::didUpdateHistoryTitle): (WebKit::WebPageProxy::runJavaScriptAlert): (WebKit::WebPageProxy::runJavaScriptConfirm): (WebKit::WebPageProxy::runJavaScriptPrompt): (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): (WebKit::WebPageProxy::runOpenPanel): (WebKit::WebPageProxy::resumeDownload): (WebKit::WebPageProxy::downloadRequest): (WebKit::WebPageProxy::showPopupMenu): (WebKit::WebPageProxy::showContextMenu): (WebKit::WebPageProxy::mouseEventHandlingCompleted): (WebKit::WebPageProxy::keyEventHandlingCompleted): (WebKit::WebPageProxy::resetStateAfterProcessTermination): (WebKit::WebPageProxy::willStartCapture): (WebKit::WebPageProxy::gpuProcessExited): * Source/WebKit/UIProcess/WebPreferences.cpp: (WebKit::WebPreferences::updateBoolValueForKey): * Source/W
[webkit-changes] [WebKit/WebKit] 621b53: Fix debug linux builds
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 621b5328cd7da5977bba3040bfda5d23311bc393 https://github.com/WebKit/WebKit/commit/621b5328cd7da5977bba3040bfda5d23311bc393 Author: Alex Christensen Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M Source/WebCore/Modules/webdatabase/SQLTransactionStateMachine.h Log Message: --- Fix debug linux builds https://bugs.webkit.org/show_bug.cgi?id=275282 rdar://129424660 Unreviewed. ASCIILiteral isn't declared. * Source/WebCore/Modules/webdatabase/SQLTransactionStateMachine.h: Canonical link: https://commits.webkit.org/279842@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] d32262: Rename WebPageProxy::process to legacyMainFramePro...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d32262e9ca14909fe195b1cd329dd37f04f35125 https://github.com/WebKit/WebKit/commit/d32262e9ca14909fe195b1cd329dd37f04f35125 Author: Alex Christensen Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M Source/WebKit/UIProcess/API/C/WKPage.cpp M Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm M Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm M Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp M Source/WebKit/UIProcess/API/glib/WebKitWebView.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm M Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp M Source/WebKit/UIProcess/BrowsingContextGroup.cpp M Source/WebKit/UIProcess/Cocoa/NavigationState.mm M Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm M Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm M Source/WebKit/UIProcess/Cocoa/UIRemoteObjectRegistry.cpp M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm M Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionContextCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionControllerCocoa.mm M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionTabCocoa.mm M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp M Source/WebKit/UIProcess/Extensions/WebExtensionController.cpp M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.cpp M Source/WebKit/UIProcess/Inspector/RemoteWebInspectorUIProxy.cpp M Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.cpp M Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.cpp M Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp M Source/WebKit/UIProcess/UserMediaProcessManager.cpp M Source/WebKit/UIProcess/ViewGestureController.cpp M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp M Source/WebKit/UIProcess/WebContextMenuProxy.cpp M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPreferences.cpp M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebScreenOrientationManagerProxy.cpp M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp M Source/WebKit/UIProcess/glib/UserMediaPermissionRequestManagerProxyGLib.cpp M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm M Source/WebKit/UIProcess/ios/SmartMagnificationController.mm M Source/WebKit/UIProcess/ios/WKContentView.mm M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm M Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.mm M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Source/WebKit/UIProcess/mac/DisplayCaptureSessionManager.mm M Source/WebKit/UIProcess/mac/WKImmediateActionController.mm M Source/WebKit/UIProcess/mac/WebPageProxyMac.mm M Source/WebKit/UIProcess/mac/WebViewImpl.mm M Source/WebKit/UIProcess/wpe/AcceleratedBackingStoreDMABuf.cpp Log Message: --- Rename WebPageProxy::process to legacyMainFrameProcess https://bugs.webkit.org/show_bug.cgi?id=275270 rdar://129414565 Reviewed by Timothy Hatcher and Charlie Wolfe. Thinking of a WebPageProxy as having a process is how things were before site isolation. All these uses need to be audited, and future uses need to think about which web content process they want to use. * Source/WebKit/UIProcess/API/C/WKPage.cpp: (WKPageGetContext): (WKPageTerminate): (WKPageResetProcessState): (WKPageCopyRelatedPages): (WKPageGetProcessIdentifier): (WKPageGetGPUProcessIdentifier): (WKPageSetMockCaptureDevicesInterrupted): (WKPageTriggerMockCaptureConfigurationChange): * Source/WebKit/UIProcess/API/C/mac/WKPagePrivateMac.mm: (-[WKObservablePageState _webProcessIsResponsive]): (WKPageIsURLKnownHSTSHost): * Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm
[webkit-changes] [WebKit/WebKit] 12485a: Remove some unused WebPageGroup code
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 12485a2a6bd767a77e2191ce28cf4bf8aa87f052 https://github.com/WebKit/WebKit/commit/12485a2a6bd767a77e2191ce28cf4bf8aa87f052 Author: Alex Christensen Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: M Source/WebKit/UIProcess/Inspector/socket/RemoteInspectorProtocolHandler.cpp M Source/WebKit/UIProcess/WebPageGroup.cpp M Source/WebKit/UIProcess/WebPageGroup.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/WebProcess/WebPage/WebPageGroupProxy.cpp M Source/WebKit/WebProcess/WebPage/WebPageGroupProxy.h M Source/WebKit/WebProcess/WebProcess.cpp M Source/WebKit/WebProcess/WebProcess.h Log Message: --- Remove some unused WebPageGroup code https://bugs.webkit.org/show_bug.cgi?id=275216 rdar://129354155 Reviewed by Brady Eidson. And use a smart pointer instead of a raw pointer for the WebCore::PageGroup. * Source/WebKit/UIProcess/WebPageGroup.cpp: (WebKit::WebPageGroup::WebPageGroup): (WebKit::WebPageGroup::get): Deleted. (WebKit::WebPageGroup::forEach): Deleted. (WebKit::WebPageGroup::addPage): Deleted. (WebKit::WebPageGroup::removePage): Deleted. (WebKit::WebPageGroup::setPreferences): Deleted. (WebKit::WebPageGroup::protectedPreferences const): Deleted. (WebKit::WebPageGroup::userContentController): Deleted. (WebKit::WebPageGroup::protectedUserContentController): Deleted. * Source/WebKit/UIProcess/WebPageGroup.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::~WebPageProxy): * Source/WebKit/WebProcess/WebPage/WebPageGroupProxy.cpp: (WebKit::WebPageGroupProxy::corePageGroup const): * Source/WebKit/WebProcess/WebPage/WebPageGroupProxy.h: (WebKit::WebPageGroupProxy::localStorageNamespaceIdentifier const): Deleted. (WebKit::WebPageGroupProxy::corePageGroup const): Deleted. * Source/WebKit/WebProcess/WebProcess.cpp: * Source/WebKit/WebProcess/WebProcess.h: Canonical link: https://commits.webkit.org/279830@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c31a3b: Makes interaction region visible on a HTMLTextForm...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c31a3bd6fa34624051e51534ba90c847f98b6488 https://github.com/WebKit/WebKit/commit/c31a3bd6fa34624051e51534ba90c847f98b6488 Author: Aleksei Marchenko Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: A LayoutTests/interaction-region/text-input-focused-edited-empty-expected.txt A LayoutTests/interaction-region/text-input-focused-edited-empty.html A LayoutTests/interaction-region/text-input-focused-edited-expected.txt A LayoutTests/interaction-region/text-input-focused-edited.html M LayoutTests/interaction-region/text-input-focused-expected.txt A LayoutTests/interaction-region/textarea-focused-edited-empty-expected.txt A LayoutTests/interaction-region/textarea-focused-edited-empty.html A LayoutTests/interaction-region/textarea-focused-edited-expected.txt A LayoutTests/interaction-region/textarea-focused-edited.html M LayoutTests/interaction-region/textarea-focused-expected.txt M Source/WebCore/page/InteractionRegion.cpp Log Message: --- Makes interaction region visible on a HTMLTextFormControlElement when focused. https://bugs.webkit.org/show_bug.cgi?id=275064 rdar://120749461 Reviewed by Aditya Keerthi. Interaction region is visible in almost all states of a HTMLTextFormControlElement except when editing the text and when focused + edited + has-value. * LayoutTests/interaction-region/text-input-focused-edited-empty-expected.txt: Added. * LayoutTests/interaction-region/text-input-focused-edited-empty.html: Added. * LayoutTests/interaction-region/text-input-focused-edited-expected.txt: Copied from LayoutTests/interaction-region/text-input-focused-expected.txt. * LayoutTests/interaction-region/text-input-focused-edited.html: Added. * LayoutTests/interaction-region/text-input-focused-expected.txt: * LayoutTests/interaction-region/textarea-focused-edited-empty-expected.txt: Added. * LayoutTests/interaction-region/textarea-focused-edited-empty.html: Added. * LayoutTests/interaction-region/textarea-focused-edited-expected.txt: Copied from LayoutTests/interaction-region/text-input-focused-expected.txt. * LayoutTests/interaction-region/textarea-focused-edited.html: Added. * LayoutTests/interaction-region/textarea-focused-expected.txt: * Source/WebCore/page/InteractionRegion.cpp: (WebCore::shouldAllowNonInteractiveCursorForElement): Canonical link: https://commits.webkit.org/279828@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 077c97: [Site Isolation] Isolate web content by site inste...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 077c97ef714d93dafae5e73019f1d9899696df8f https://github.com/WebKit/WebKit/commit/077c97ef714d93dafae5e73019f1d9899696df8f Author: Alex Christensen Date: 2024-06-07 (Fri, 07 Jun 2024) Changed paths: A Source/WebKit/Shared/Site.cpp A Source/WebKit/Shared/Site.h M Source/WebKit/Sources.txt M Source/WebKit/UIProcess/BrowsingContextGroup.cpp M Source/WebKit/UIProcess/BrowsingContextGroup.h M Source/WebKit/UIProcess/FrameProcess.cpp M Source/WebKit/UIProcess/FrameProcess.h M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp M Source/WebKit/UIProcess/RemotePageProxy.cpp M Source/WebKit/UIProcess/RemotePageProxy.h M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Isolate web content by site instead of RegistrableDomain https://bugs.webkit.org/show_bug.cgi?id=275233 rdar://128951162 Reviewed by Charlie Wolfe. If content from http://example.com has an iframe from https://example.com we want those to be in different processes. We were using RegistrableDomain to separate the content, but to be more secure in the rare case when content from the same host but different protocols is loaded, we want to put them in different processes. * Source/WebKit/Shared/Site.cpp: Copied from Source/WebKit/UIProcess/FrameProcess.cpp. (WebKit::Site::Site): (WebKit::Site::hash const): * Source/WebKit/Shared/Site.h: Copied from Source/WebKit/UIProcess/FrameProcess.h. (WebKit::Site::protocol const): (WebKit::Site::host const): (WebKit::Site::isEmpty const): (WebKit::Site::Site): (WebKit::Site::isHashTableDeletedValue const): (WebKit::Site::Hash::hash): (WebKit::Site::Hash::equal): (WTF::HashTraits::emptyValue): * Source/WebKit/Sources.txt: * Source/WebKit/UIProcess/BrowsingContextGroup.cpp: (WebKit::BrowsingContextGroup::ensureProcessForSite): (WebKit::BrowsingContextGroup::ensureProcessForConnection): (WebKit::BrowsingContextGroup::processForSite): (WebKit::BrowsingContextGroup::addFrameProcess): (WebKit::BrowsingContextGroup::removeFrameProcess): (WebKit::BrowsingContextGroup::addPage): (WebKit::BrowsingContextGroup::transitionPageToRemotePage): (WebKit::BrowsingContextGroup::transitionProvisionalPageToRemotePage): (WebKit::BrowsingContextGroup::ensureProcessForDomain): Deleted. (WebKit::BrowsingContextGroup::processForDomain): Deleted. * Source/WebKit/UIProcess/BrowsingContextGroup.h: * Source/WebKit/UIProcess/FrameProcess.cpp: (WebKit::FrameProcess::FrameProcess): * Source/WebKit/UIProcess/FrameProcess.h: (WebKit::FrameProcess::site const): (WebKit::FrameProcess::create): (WebKit::FrameProcess::domain const): Deleted. * Source/WebKit/UIProcess/ProvisionalPageProxy.cpp: (WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame): (WebKit::ProvisionalPageProxy::didCommitLoadForFrame): * Source/WebKit/UIProcess/RemotePageProxy.cpp: (WebKit::RemotePageProxy::RemotePageProxy): * Source/WebKit/UIProcess/RemotePageProxy.h: (WebKit::RemotePageProxy::site const): (WebKit::RemotePageProxy::domain const): Deleted. * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::prepareForProvisionalLoadInProcess): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::continueNavigationInNewProcess): (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::processForSite): (WebKit::WebPageProxy::processForRegistrableDomain): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::processForNavigation): (WebKit::WebProcessPool::processForNavigationInternal): * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::frameTreesMatch): (TestWebKitAPI::TEST(SiteIsolation, ProtocolProcessSeparation)): Canonical link: https://commits.webkit.org/279819@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3ff50b: [Site Isolation] Add test for window.open to cross...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3ff50bd81386f1b17d8f8b8463face978693944d https://github.com/WebKit/WebKit/commit/3ff50bd81386f1b17d8f8b8463face978693944d Author: Alex Christensen Date: 2024-06-06 (Thu, 06 Jun 2024) Changed paths: M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Add test for window.open to cross-site provisional navigation failure https://bugs.webkit.org/show_bug.cgi?id=275217 rdar://121240941 Reviewed by Charlie Wolfe. This is a unique navigation flow that works but needs a test. * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST(SiteIsolation, OpenProvisionalFailure)): Canonical link: https://commits.webkit.org/279791@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] c45525: [Site Isolation] Clean up code from initial protot...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c45525de608064e81268aed329013cdce06d9f79 https://github.com/WebKit/WebKit/commit/c45525de608064e81268aed329013cdce06d9f79 Author: Alex Christensen Date: 2024-06-05 (Wed, 05 Jun 2024) Changed paths: M Source/WebKit/Shared/WebPageCreationParameters.h M Source/WebKit/Shared/WebPageCreationParameters.serialization.in M Source/WebKit/UIProcess/RemotePageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/WebProcess/WebPage/WebFrame.cpp M Source/WebKit/WebProcess/WebPage/WebFrame.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- [Site Isolation] Clean up code from initial prototyping https://bugs.webkit.org/show_bug.cgi?id=275135 rdar://116201135 Reviewed by Sihui Liu. In this PR I do 2 cleanups that don't change behavior: 1. I rename SubframeProcessPageParameters to RemotePageParameters which better reflects its use. In the initial prototyping of site isolation I wasn't sure how we would handle window.open and my initial use of RemoteFrames in a process was only for remote subframes. Renaming to RemotePageParameters better reflects that the WebPage is communicating with a RemotePageProxy, whether it's for an iframe or window.open. 2. I remove the oddly named variable receivedMainFrameIdentifierFromUIProcess and replace it with a parameters.remotePageParameters check for its one use, preventing the unnecessary IPC Messages::WebPageProxy::DidCreateMainFrame when making a remote page, where the UI process already knows the main frame's identifier. I also moved the IPC sending from WebFrame to WebPage, which won't change behavior but removes an unneeded function parameter and it reflects the WebPage's responsibility for creating frames rather than WebFrame reporting that it was created by the WebPage. * Source/WebKit/Shared/WebPageCreationParameters.h: * Source/WebKit/Shared/WebPageCreationParameters.serialization.in: * Source/WebKit/UIProcess/RemotePageProxy.cpp: (WebKit::RemotePageProxy::injectPageIntoNewProcess): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): (WebKit::WebPageProxy::creationParametersForRemotePage): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::initWithCoreMainFrame): * Source/WebKit/WebProcess/WebPage/WebFrame.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): (WebKit::m_unifiedTextReplacementController): Canonical link: https://commits.webkit.org/279748@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8b66a7: Remove ObjCObjectGraph
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8b66a7194631afbea29e333be7961651e6bdc638 https://github.com/WebKit/WebKit/commit/8b66a7194631afbea29e333be7961651e6bdc638 Author: Alex Christensen Date: 2024-06-04 (Tue, 04 Jun 2024) Changed paths: M Source/WebKit/Shared/API/APIObject.h M Source/WebKit/Shared/API/APIObject.serialization.in M Source/WebKit/Shared/API/c/WKSharedAPICast.h M Source/WebKit/Shared/API/c/mac/WKObjCTypeWrapperRef.h M Source/WebKit/Shared/API/c/mac/WKObjCTypeWrapperRef.mm M Source/WebKit/Shared/UserData.cpp R Source/WebKit/Shared/mac/ObjCObjectGraph.h R Source/WebKit/Shared/mac/ObjCObjectGraph.mm M Source/WebKit/SourcesCocoa.txt M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm M Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/InjectedBundle/mac/InjectedBundleMac.mm M Source/WebKit/WebProcess/WebProcess.cpp M Source/WebKit/WebProcess/WebProcess.h M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm Log Message: --- Remove ObjCObjectGraph https://bugs.webkit.org/show_bug.cgi?id=275123 Reviewed by Brady Eidson. There's currently no way to make one unless you already have one. * Source/WebKit/Shared/API/APIObject.h: * Source/WebKit/Shared/API/APIObject.serialization.in: * Source/WebKit/Shared/API/c/WKSharedAPICast.h: * Source/WebKit/Shared/API/c/mac/WKObjCTypeWrapperRef.h: * Source/WebKit/Shared/API/c/mac/WKObjCTypeWrapperRef.mm: (WKObjCTypeWrapperGetObject): (WKObjCTypeWrapperGetTypeID): Deleted. * Source/WebKit/Shared/UserData.cpp: * Source/WebKit/Shared/mac/ObjCObjectGraph.h: Removed. * Source/WebKit/Shared/mac/ObjCObjectGraph.mm: Removed. * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm: * Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm: * Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm: * Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::transformHandlesToObjects): Deleted. (WebKit::WebProcessProxy::transformObjectsToHandles): Deleted. * Source/WebKit/UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::transformHandlesToObjects): (WebKit::WebProcessProxy::transformObjectsToHandles): * Source/WebKit/UIProcess/WebProcessProxy.h: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: (WebKit::InjectedBundle::initialize): * Source/WebKit/WebProcess/WebProcess.cpp: (WebKit::WebProcess::transformHandlesToObjects): (WebKit::WebProcess::transformObjectsToHandles): * Source/WebKit/WebProcess/WebProcess.h: * Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::transformHandlesToObjects): Deleted. (WebKit::WebProcess::transformObjectsToHandles): Deleted. * Tools/TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (SerializedTypeInfo)): Canonical link: https://commits.webkit.org/279718@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 9d5253: [Site Isolation] Ignore WebPageProxy::didFinishLoa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 9d5253e0766c46f85fe597f82eeb7ed824194c62 https://github.com/WebKit/WebKit/commit/9d5253e0766c46f85fe597f82eeb7ed824194c62 Author: Alex Christensen Date: 2024-06-03 (Mon, 03 Jun 2024) Changed paths: M Source/WebKit/UIProcess/RemotePageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Ignore WebPageProxy::didFinishLoadForFrame message if a load has started in another process https://bugs.webkit.org/show_bug.cgi?id=275084 rdar://129192839 Reviewed by Charlie Wolfe. When starting a provisional load in one process then cancelling it to start a provisional load in a different process, site isolation introduces an unavoidable race condition between the WebPage::DestroyProvisionalFrame message going to the process that had the first provisional load and the WebPageProxy::DidFinishLoadForFrame message that may be coming from that same process at the same time. To solve this, the UI process should ignore such messages coming from a process that is not the most recent process it has started a provisional load in. A similar message ignoring exists in the WebPageProxy::didStartProvisionalLoadForFrameShared message receiver for the same reason. This is the cause of the flaky asserts in debug builds when running the test http/tests/site-isolation/window-open-with-name-cross-site.html I spent several hours today learning that it's basically impossible to hit this condition reliably in an API test, so I removed my note to add such a test. We already have a test that is flaky when this change is not made. Somewhat related, I changed RemotePageProxy::didCommitLoadForFrame to call WebPageProxy::didCommitLoadForFrame instead of WebFrameProxy::commitProvisionalFrame to keep the purity of RemotePageProxy as a message forwarder instead of a decision maker. * Source/WebKit/UIProcess/RemotePageProxy.cpp: (WebKit::RemotePageProxy::didCommitLoadForFrame): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didFinishLoadForFrame): * Source/WebKit/UIProcess/WebPageProxy.h: Canonical link: https://commits.webkit.org/279684@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4c438d: Fix internal build after 279612@main
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4c438d474e047ee8cfbf41f592e08807a269eff2 https://github.com/WebKit/WebKit/commit/4c438d474e047ee8cfbf41f592e08807a269eff2 Author: Alex Christensen Date: 2024-06-01 (Sat, 01 Jun 2024) Changed paths: M Source/WebKit/UIProcess/WebProcessPool.cpp Log Message: --- Fix internal build after 279612@main https://bugs.webkit.org/show_bug.cgi?id=275016 rdar://129105713 Unreviewed. * Source/WebKit/UIProcess/WebProcessPool.cpp: Canonical link: https://commits.webkit.org/279614@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 3db0bf: Remove WKConnection
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3db0bf1437f063e2bbb4b1cf5866909634e00f94 https://github.com/WebKit/WebKit/commit/3db0bf1437f063e2bbb4b1cf5866909634e00f94 Author: Alex Christensen Date: 2024-06-01 (Sat, 01 Jun 2024) Changed paths: R LayoutTests/ipc/argument-coders-crash-expected.txt R LayoutTests/ipc/argument-coders-crash.html M Source/WebKit/CMakeLists.txt M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources-output.xcfilelist M Source/WebKit/DerivedSources.make M Source/WebKit/Headers.cmake M Source/WebKit/Modules/OSX_Private.modulemap M Source/WebKit/Modules/iOS_Private.modulemap M Source/WebKit/Shared/API/APIObject.h M Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm M Source/WebKit/Shared/API/c/WKBase.h R Source/WebKit/Shared/API/c/WKConnectionRef.cpp R Source/WebKit/Shared/API/c/WKConnectionRef.h M Source/WebKit/Shared/API/c/WKSharedAPICast.h M Source/WebKit/Shared/Cocoa/APIObject.mm R Source/WebKit/Shared/WebConnection.cpp R Source/WebKit/Shared/WebConnection.h R Source/WebKit/Shared/WebConnection.messages.in R Source/WebKit/Shared/WebConnectionClient.cpp R Source/WebKit/Shared/WebConnectionClient.h M Source/WebKit/Sources.txt M Source/WebKit/SourcesCocoa.txt M Source/WebKit/UIProcess/API/C/WKContext.cpp M Source/WebKit/UIProcess/API/C/WKContext.h R Source/WebKit/UIProcess/API/C/WKContextConnectionClient.h M Source/WebKit/UIProcess/API/C/WebKit2_C.h R Source/WebKit/UIProcess/API/Cocoa/WKConnection.h R Source/WebKit/UIProcess/API/Cocoa/WKConnection.mm R Source/WebKit/UIProcess/API/Cocoa/WKConnectionInternal.h M Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.h M Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm M Source/WebKit/UIProcess/API/Cocoa/_WKTargetedElementRequest.mm R Source/WebKit/UIProcess/WebConnectionToWebProcess.cpp R Source/WebKit/UIProcess/WebConnectionToWebProcess.h R Source/WebKit/UIProcess/WebContextConnectionClient.cpp R Source/WebKit/UIProcess/WebContextConnectionClient.h M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebProcessPool.h M Source/WebKit/UIProcess/WebProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessProxy.h M Source/WebKit/UIProcess/mac/SecItemShimProxy.cpp M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.cpp M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundle.h M Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h M Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm M Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp M Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.h R Source/WebKit/WebProcess/WebConnectionToUIProcess.cpp R Source/WebKit/WebProcess/WebConnectionToUIProcess.h M Source/WebKit/WebProcess/WebProcess.cpp M Source/WebKit/WebProcess/WebProcess.h M Source/WebKit/WebProcess/cocoa/AudioSessionRoutingArbitrator.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/CancelFontSubresourcePlugIn.mm M Tools/TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldPlugIn.mm Log Message: --- Remove WKConnection https://bugs.webkit.org/show_bug.cgi?id=275000 rdar://129085235 Reviewed by Brady Eidson. WKConnection was an early prototype of SPI for communicating with the injected bundle. It has since been replaced by _WKRemoteObjectRegistry, WKPagePostMessageToInjectedBundle, WKBundlePagePostMessage, and WKBundlePostMessage. Its last use was removed in rdar://127167483, so we can now remove it as a step towards removing ObjCObjectGraph. * Source/WebKit/DerivedSources-output.xcfilelist: * Source/WebKit/DerivedSources.make: * Source/WebKit/Headers.cmake: * Source/WebKit/Modules/OSX_Private.modulemap: * Source/WebKit/Modules/iOS_Private.modulemap: * Source/WebKit/NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::webProcessIdentifierForConnection const): * Source/WebKit/Shared/API/APIObject.h: * Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: * Source/WebKit/Shared/API/c/WKBase.h: * Source/WebKit/Shared/API/c/WKConnectionRef.cpp: Removed. * Source/WebKit/Shared/API/c/WKConnectionRef.h: Removed. * Source/WebKit/Shared/API/c/WKSharedAPICast.h: * Source/WebKit/Shared/Cocoa/APIObject.mm: (API::Object::newObject): * Source/WebKit/Shared/WebConnection.cpp: Removed. * Source/WebKit/Shared/WebConnection.h: Removed. * Source/WebKit/Shared/WebConnection.messages.in: Removed. * Source/WebKit/Shared/WebConnectionClient.cpp: Removed. * Source/WebKit/Shared/WebConnectionClient.h: Removed. * Source/WebKit/Sources.txt: * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/UIProcess/API/C/WKContext.cpp: (WKContextSetConnectionClient): Deleted
[webkit-changes] [WebKit/WebKit] bdfea5: [Site Isolation] Allow navigating to a domain whil...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: bdfea5e813fd2c0bcbc53a2c7957292d3d29f8fa https://github.com/WebKit/WebKit/commit/bdfea5e813fd2c0bcbc53a2c7957292d3d29f8fa Author: Alex Christensen Date: 2024-05-31 (Fri, 31 May 2024) Changed paths: M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Allow navigating to a domain while a provisional navigation is pending to that same domain https://bugs.webkit.org/show_bug.cgi?id=274876 rdar://128979060 Reviewed by Charlie Wolfe. To get this to work and make the UI process frame management more elegant, I tie the WebPage::CreateProvisionalFrame and WebPage::DestroyProvisionalFrame messages to the lifetime of the ProvisionalFrameProxy object. I make sure to destroy a ProvisionalFrameProxy before creating a new one so the DestroyProvisionalFrame message is sent before the CreateProvisionalFrame message. This simplifies a lot of things, but there is an unavoidable race condition when you start a provisional load in one process then, before it commits, start a provisional load in another process: the UI process may receive the WebPageProxy::didStartProvisionalLoadForFrame message from the second process before the first process has notified the UI process of the first provisional load failure. When this happens, the UI process needs to update the FrameLoadState and notify the navigation client, which will require a bit more refactoring and can be done separately. * Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp: (WebKit::ProvisionalFrameProxy::ProvisionalFrameProxy): (WebKit::ProvisionalFrameProxy::~ProvisionalFrameProxy): (WebKit::ProvisionalFrameProxy::process const): * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::prepareForProvisionalLoadInProcess): * Source/WebKit/UIProcess/WebFrameProxy.h: (WebKit::WebFrameProxy::layerHostingContextIdentifier const): * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::receivedNavigationActionPolicyDecision): (WebKit::WebPageProxy::continueNavigationInNewProcess): (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): (WebKit::WebPageProxy::sendToWebPageInProcess): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::checkFrameTreesInProcesses): (TestWebKitAPI::TEST(SiteIsolation, CancelProvisionalLoad)): Canonical link: https://commits.webkit.org/279602@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 272547: Prepare to use C++23 in WebKit
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 272547d4b0ece68623a629726f30a54d5705f802 https://github.com/WebKit/WebKit/commit/272547d4b0ece68623a629726f30a54d5705f802 Author: Alex Christensen Date: 2024-05-31 (Fri, 31 May 2024) Changed paths: M Source/JavaScriptCore/assembler/ProbeStack.h M Source/JavaScriptCore/dfg/DFGAbstractValue.cpp M Source/JavaScriptCore/runtime/JSBigInt.cpp M Source/JavaScriptCore/wasm/WasmMemory.h M Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp M Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/include/audio_processing.cc M Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_processing/include/audio_processing.h M Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/untyped_function.h M Source/WTF/wtf/EmbeddedFixedVector.h M Source/WTF/wtf/HashTable.h M Source/WTF/wtf/Int128.cpp M Source/WTF/wtf/Int128.h M Source/WTF/wtf/NeverDestroyed.h M Source/WTF/wtf/RobinHoodHashTable.h M Source/WTF/wtf/SizeLimits.cpp M Source/WTF/wtf/ThreadSpecific.h M Source/WTF/wtf/Vector.h M Source/WTF/wtf/threads/Signals.h M Source/WebCore/bindings/js/SerializedScriptValue.cpp M Source/WebCore/bindings/js/SerializedScriptValue.h M Source/WebCore/dom/TreeScope.cpp M Source/WebCore/html/HTMLMediaElement.cpp M Source/WebCore/page/CaptionUserPreferences.cpp M Source/WebCore/page/CaptionUserPreferences.h M Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp M Source/WebCore/rendering/GridTrackSizingAlgorithm.h M Source/WebGPU/WGSL/Types.h M Source/WebKit/Shared/Cocoa/APIObject.mm M Source/WebKit/Shared/Cocoa/WKObject.h M Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm M Source/WebKit/UIProcess/WebBackForwardCache.cpp M Source/WebKit/UIProcess/WebBackForwardCacheEntry.h M Source/bmalloc/bmalloc/AllIsoHeaps.h M Source/bmalloc/bmalloc/BCompiler.h M Source/bmalloc/bmalloc/CryptoRandom.cpp M Source/bmalloc/bmalloc/DebugHeap.h M Source/bmalloc/bmalloc/Environment.h M Source/bmalloc/bmalloc/Gigacage.cpp M Source/bmalloc/bmalloc/HeapConstants.h M Source/bmalloc/bmalloc/IsoSharedHeap.h M Source/bmalloc/bmalloc/IsoTLSLayout.h M Source/bmalloc/bmalloc/PerHeapKind.h M Source/bmalloc/bmalloc/Scavenger.h Log Message: --- Prepare to use C++23 in WebKit https://bugs.webkit.org/show_bug.cgi?id=274952 rdar://129048503 Reviewed by Abrar Rahman Protyasha. This is the parts of https://github.com/WebKit/WebKit/pull/19053 that don't involve actually changing the compiler flag, which we can't do until June 10 because of the GTK and WPE dependencies policy. >From that PR: 1. std::aligned_storage is deprecated, so I added deprecation warning ignoring macros around its use in order to not change any behavior with the transition. We can figure out what to do later. 2. Something about implicitly calling constructors changed, which affected code in JSBigInt. I fixed this by just adding braces to more explicitly indicate that a different type is being returned and we are calling a constructor. This should also not change behavior. 3. For a reason I don't completely understand, in order to fix the build I needed to change the name of WasmMemory::check to checkLifetime. "check" is certainly not a new keyword. This also does not change any behavior. 4. std::unique_ptr is now constexpr, and something in libc++'s implementation requires a complete class definition for its move constructor. I filed rdar://116885103 for future investigation, but I also moved a few definitions around and included a few things to fix the build. The SerializedScriptValue constructor taking a unique_ptr was a little tricky, but I made it just take a WasmModuleArray&& instead, and call makeUnique between that and initializing the member variable, so I didn't change behavior or storage layout there either. 5. I needed to explicitly include from EmbeddedFixedVector.h to fix the build. Something probably changed about what standardized headers include other standardized headers. * Source/JavaScriptCore/assembler/ProbeStack.h: * Source/JavaScriptCore/dfg/DFGAbstractValue.cpp: (JSC::DFG::AbstractValue::ensureCanInitializeWithZeros): * Source/JavaScriptCore/runtime/JSBigInt.cpp: (JSC::JSBigInt::exponentiateImpl): (JSC::JSBigInt::multiplyImpl): (JSC::JSBigInt::remainderImpl): (JSC::JSBigInt::leftShiftImpl): (JSC::JSBigInt::signedRightShiftImpl): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteSub): (JSC::JSBigInt::asIntNImpl): (JSC::JSBigInt::asUintNImpl): * Source/JavaScriptCore/wasm/WasmMemory.h: * Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::adopt): (JSC::JSWebAssemblyMemory::growSu
[webkit-changes] [WebKit/WebKit] 7e5e04: [Site Isolation] Remove child frames of old main f...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7e5e04b40d3eae60d9cd0176061cf2a5ba92511d https://github.com/WebKit/WebKit/commit/7e5e04b40d3eae60d9cd0176061cf2a5ba92511d Author: Alex Christensen Date: 2024-05-30 (Thu, 30 May 2024) Changed paths: M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm Log Message: --- [Site Isolation] Remove child frames of old main frame when committing a provisional page https://bugs.webkit.org/show_bug.cgi?id=274941 rdar://125374765 Reviewed by Charlie Wolfe. When a main frame navigates to a new domain, we need the iframes of the previous page to be removed in the UI process and in all other processes. This isn't an issue with site isolation off because we cache or discard the entirety of the previous process when process swapping. With site isolation, though, the same processes can be reused for the same domains after main frame navigations. * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::removeRemoteFrameProcessUse): * Source/WebKit/UIProcess/WebFrameProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::commitProvisionalPage): * Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm: (TestWebKitAPI::TEST(SiteIsolation, NavigateToDomainAgainWithSPIUse)): Canonical link: https://commits.webkit.org/279561@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 73556f: declarativeNetRequest-initiated cross-domain redir...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 73556f8ce7487cb5cc430f1e7b602978d92cb95b https://github.com/WebKit/WebKit/commit/73556f8ce7487cb5cc430f1e7b602978d92cb95b Author: Alex Christensen Date: 2024-05-27 (Mon, 27 May 2024) Changed paths: M Source/WebCore/loader/cache/CachedResourceLoader.cpp M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm Log Message: --- declarativeNetRequest-initiated cross-domain redirect of main resource should not crash https://bugs.webkit.org/show_bug.cgi?id=274759 rdar://116459903 Reviewed by Timothy Hatcher. declarativeNetRequest introduced a new kind of redirect that can be used to redirect resources to a different origin. When this happens with the main frame's main resource, the UI process wasn't informed of the origin change, so when it tries to load anything the origin checks in NetworkProcess::allowsFirstPartyForCookies fail and the process is assumed to be trying to access a domain it wasn't given access to by the UI process and it terminates. To solve this, when a cross-domain redirect happens as a result of declarativeNetRequest, cancel the load and initiate a new load to the new domain, which will go through the proper UI process checks and accounting. Covered by a new API test that uses the WKContentRuleList SPI that declarativeNetRequest uses. * Source/WebCore/loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::requestResource): * Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm: (TEST_F): Canonical link: https://commits.webkit.org/279357@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 8da8cd: Remove SecKeychainItemRef from CFTypeRef serializa...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 8da8cdb10ac1e7f81579589d658e8359a236d427 https://github.com/WebKit/WebKit/commit/8da8cdb10ac1e7f81579589d658e8359a236d427 Author: Alex Christensen Date: 2024-05-27 (Mon, 27 May 2024) Changed paths: M Source/WebKit/NetworkProcess/mac/SecItemShim.cpp M Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.h M Source/WebKit/Shared/Cocoa/CoreIPCCFType.h M Source/WebKit/Shared/Cocoa/CoreIPCCFType.mm M Source/WebKit/Shared/Cocoa/CoreIPCCFType.serialization.in M Source/WebKit/Shared/mac/SecItemResponseData.h M Source/WebKit/Shared/mac/SecItemResponseData.serialization.in M Source/WebKit/UIProcess/mac/SecItemShimProxy.cpp Log Message: --- Remove SecKeychainItemRef from CFTypeRef serialization https://bugs.webkit.org/show_bug.cgi?id=274670 rdar://126271015 Reviewed by Brady Eidson. SecKeychainItemRef is one of several types that can be returned from a call to SecItemCopyMatching. Because we have SecItemShim and SecItemShimProxy which proxy calls to the UI process from the network process, SecKeychainItemRef needs to be serialized across IPC. Historically, the only way to express that multiple types can be sent across IPC at one endpoint was to send a RetainPtr, which required adding SecKeychainItemRef to the list of CFTypeRefs that can be serialized. The problem with that is that everywhere we send or receive a CFDictionaryRef or a CFArrayRef we also use a RetainPtr to serialize their contents, which can be of many types. We don't need all the dictionaries and arrays to be able to serialize a SecKeychainItemRef, and we have historically prevented this from being the cause of IPC-reachable exploits by adding this release assertion: RELEASE_ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessCredentials)); This worked well, but that assertion is often hit by IPC fuzzers. To properly solve this, in this PR I remove SecKeychainItemRef from the list of things that can be contained by CFDictionaryRef and CFArrayRef and add a new variant of types that allows it only where needed: in SecItemResponseData. * Source/WebKit/NetworkProcess/mac/SecItemShim.cpp: (WebKit::webSecItemCopyMatching): * Source/WebKit/Shared/Cocoa/ArgumentCodersCocoa.h: * Source/WebKit/Shared/Cocoa/CoreIPCCFType.h: * Source/WebKit/Shared/Cocoa/CoreIPCCFType.mm: (WebKit::variantFromCFType): (WebKit::CoreIPCCFType::toCFType const): (IPC::typeFromCFTypeRef): * Source/WebKit/Shared/Cocoa/CoreIPCCFType.serialization.in: * Source/WebKit/Shared/mac/SecItemResponseData.h: (WebKit::SecItemResponseData::SecItemResponseData): (WebKit::SecItemResponseData::resultObject): (WebKit::SecItemResponseData::resultObject const): * Source/WebKit/Shared/mac/SecItemResponseData.serialization.in: * Source/WebKit/UIProcess/mac/SecItemShimProxy.cpp: (WebKit::SecItemShimProxy::secItemRequest): Canonical link: https://commits.webkit.org/279354@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] dd1da9: [Site Isolation] Prepare to move ProvisionalFrameP...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: dd1da9bd8b6e8790757f9a51e654563481e151b1 https://github.com/WebKit/WebKit/commit/dd1da9bd8b6e8790757f9a51e654563481e151b1 Author: Alex Christensen Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M Source/WebCore/loader/FrameLoader.cpp M Source/WebKit/UIProcess/API/APINavigation.cpp M Source/WebKit/UIProcess/API/APINavigation.h M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h M Source/WebKit/UIProcess/Model/ModelProcessProxy.h M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp M Source/WebKit/UIProcess/ProvisionalFrameProxy.h M Source/WebKit/UIProcess/WebFrameProxy.cpp M Source/WebKit/UIProcess/WebFrameProxy.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebProcessProxy.h M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: --- [Site Isolation] Prepare to move ProvisionalFrameProxy ownership from WebFrameProxy to API::Navigation https://bugs.webkit.org/show_bug.cgi?id=274604 rdar://128626098 Reviewed by Charlie Wolfe. In order to fix the FIXME comment at the bottom of the SiteIsolation.CancelProvisionalLoad API test, we need to be able to be cancelling a provisional load in a process at the same time as we are starting a new provisional load in that same process. In order to make that work, the ProvisionalFrameProxy can't be destroyed when the first provisional load fails. We will need to move the ProvisionalFrameProxy ownership to the Navigation, and introduce the possibility of multiple Navigation objects keeping it alive, so it needs to be RefCounted instead of owned by a unique_ptr. We also need the message WebPage::DestroyProvisionalFrame to be sent from the UI process instead of called directly by the web process because at the time a provisional load failure is being dispatched from the web process, the web process doesn't know whether the provisional frame should be destroyed. I set loadParameters.navigationID in a few more places so we can get the Navigation object in more places. I remove the use of WebFrameProxy::provisionalFrame in WebPageProxy::decidePolicyForResponse in favor of getting the WebProcessProxy from the IPC::Connection, which requires adding a way to get a WebProcessProxy from an AuxiliaryProcessProxy. With site isolation on, we will need to set up navigation identifiers for all frame loads instead of just the main frame, so I do that behind a siteIsolationEnabled check. WebFrameProxy::prepareForProvisionalLoadInProcess will need to modify the navigation by setting its ProvisionalFrameProxy, so I make it non-const. This is all the set-up I can do without really changing behavior. An upcoming PR will do the rest of the more invasive changes to get that test addition to work completely. * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::updateRequestAndAddExtraFields): * Source/WebKit/UIProcess/API/APINavigation.cpp: (API::Navigation::setProvisionalFrame): * Source/WebKit/UIProcess/API/APINavigation.h: (API::Navigation::provisionalFrame): * Source/WebKit/UIProcess/AuxiliaryProcessProxy.h: * Source/WebKit/UIProcess/GPU/GPUProcessProxy.h: * Source/WebKit/UIProcess/Model/ModelProcessProxy.h: * Source/WebKit/UIProcess/Network/NetworkProcessProxy.h: * Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp: (WebKit::ProvisionalFrameProxy::create): (WebKit::ProvisionalFrameProxy::~ProvisionalFrameProxy): (WebKit::ProvisionalFrameProxy::takeFrameProcess): * Source/WebKit/UIProcess/ProvisionalFrameProxy.h: * Source/WebKit/UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::takeProvisionalFrame): (WebKit::WebFrameProxy::prepareForProvisionalLoadInProcess): (WebKit::WebFrameProxy::commitProvisionalFrame): * Source/WebKit/UIProcess/WebFrameProxy.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::receivedNavigationActionPolicyDecision): (WebKit::WebPageProxy::continueNavigationInNewProcess): (WebKit::WebPageProxy::decidePolicyForResponse): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebProcessProxy.h: (isType): * Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp: (WebKit::WebLocalFrameLoaderClient::dispatchDidFailProvisionalLoad): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createDocumentLoader): Canonical link: https://commits.webkit.org/279291@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 5b900f: REGRESSION (279257@main): [ MacOS ] 2 tests are co...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5b900f319f3b9d374d4db09d4c053256308c8f18 https://github.com/WebKit/WebKit/commit/5b900f319f3b9d374d4db09d4c053256308c8f18 Author: Alex Christensen Date: 2024-05-24 (Fri, 24 May 2024) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-reload-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-requestSubmit-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-traverse-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-userInitiated-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-with-target-expected.txt M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/FrameLoader.h M Source/WebCore/page/History.cpp M Source/WebCore/page/Navigation.cpp M Source/WebCore/page/Navigation.h Log Message: --- REGRESSION (279257@main): [ MacOS ] 2 tests are consistent failure and fast/dom/document-all.html is timing out https://bugs.webkit.org/show_bug.cgi?id=274663 rdar://128689888 Unreviewed. Revert the cause of the test failures. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-reload-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-requestSubmit-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-traverse-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-userInitiated-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-form-with-target-expected.txt: * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::loadWithDocumentLoader): (WebCore::FrameLoader::dispatchNavigateEvent): * Source/WebCore/loader/FrameLoader.h: * Source/WebCore/page/History.cpp: (WebCore::History::stateObjectAdded): * Source/WebCore/page/Navigation.cpp: (WebCore::Navigation::innerDispatchNavigateEvent): (WebCore::Navigation::dispatchTraversalNavigateEvent): (WebCore::Navigation::dispatchPushReplaceReloadNavigateEvent): (WebCore::Navigation::dispatchDownloadNavigateEvent): * Source/WebCore/page/Navigation.h: Canonical link: https://commits.webkit.org/279282@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 0f1a31: REGRESSION(278960@main): http/tests/security/no-in...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 0f1a31523d4a6b9d33eaf8867af21d92161e8ed7 https://github.com/WebKit/WebKit/commit/0f1a31523d4a6b9d33eaf8867af21d92161e8ed7 Author: Alex Christensen Date: 2024-05-23 (Thu, 23 May 2024) Changed paths: M Source/WebCore/history/CachedPage.cpp Log Message: --- REGRESSION(278960@main): http/tests/security/no-indexeddb-from-sandbox.html is recently randomly crashing https://bugs.webkit.org/show_bug.cgi?id=274368 rdar://128551183 Unreviewed. Null check the result of BackForwardController::currentItem. It can be null sometimes. * Source/WebCore/history/CachedPage.cpp: (WebCore::CachedPage::restore): Canonical link: https://commits.webkit.org/279218@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 52fa87: Remove WKProcessGroupDelegate
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 52fa87c753c32f6c3987c0965fee4a19ad31479e https://github.com/WebKit/WebKit/commit/52fa87c753c32f6c3987c0965fee4a19ad31479e Author: Alex Christensen Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.h M Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm Log Message: --- Remove WKProcessGroupDelegate https://bugs.webkit.org/show_bug.cgi?id=274490 rdar://128499406 Reviewed by Brady Eidson. Its last use was removed in rdar://127167483 It was used to provide a WKConnection to the application for communication with the injected bundle. That has been completely replaced by _WKRemoteObjectRegistry. * Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.h: * Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm: (-[WKProcessGroup initWithInjectedBundleURL:]): (-[WKProcessGroup initWithInjectedBundleURL:andCustomClassesForParameterCoder:]): (didCreateConnection): Deleted. (getInjectedBundleInitializationUserData): Deleted. (-[WKProcessGroup delegate]): Deleted. (-[WKProcessGroup setDelegate:]): Deleted. Canonical link: https://commits.webkit.org/279088@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 546178: REGRESSION (278960@main?): [ MacOS iOS ] 8X import...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5461787f10d0223437708a773ac72f6d684c0f53 https://github.com/WebKit/WebKit/commit/5461787f10d0223437708a773ac72f6d684c0f53 Author: Alex Christensen Date: 2024-05-21 (Tue, 21 May 2024) Changed paths: M LayoutTests/TestExpectations M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/cross-origin-traversal-redirect-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-anchor-download-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-anchor-download-userInitiated-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/signal-abort-detach-in-onnavigate-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/current-basic-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-navigations-in-multiple-windows-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-detach-in-onnavigate-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-rejection-order-pagehide-unserializablestate-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/sandboxing-navigate-parent-expected.txt M Source/WebCore/page/Navigation.cpp Log Message: --- REGRESSION (278960@main?): [ MacOS iOS ] 8X imported/w3c/web-platform-tests/navigation-api are consistently failing and 1 is crashing https://bugs.webkit.org/show_bug.cgi?id=274475 rdar://128479544 Unreviewed. Change some failing assertions to early returns and update tests. This code is in an off-by-default experimental feature. * LayoutTests/TestExpectations: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/cross-origin-traversal-redirect-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-anchor-download-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/navigate-anchor-download-userInitiated-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigate-event/signal-abort-detach-in-onnavigate-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/current-basic-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-history-entry/entries-after-navigations-in-multiple-windows-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/navigate-detach-in-onnavigate-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/return-value/reload-rejection-order-pagehide-unserializablestate-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/navigation-methods/sandboxing-navigate-parent-expected.txt: * Source/WebCore/page/Navigation.cpp: (WebCore::Navigation::updateForNavigation): Canonical link: https://commits.webkit.org/279073@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [WebKit/WebKit] 4112a1: Re-add access to WKBrowsingContextController on iO...
Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 4112a1e17fe67a4f8091c6f2a5a13d9619ac83f7 https://github.com/WebKit/WebKit/commit/4112a1e17fe67a4f8091c6f2a5a13d9619ac83f7 Author: Alex Christensen Date: 2024-05-20 (Mon, 20 May 2024) Changed paths: M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm M Source/WebKit/UIProcess/ios/WKContentView.h M Source/WebKit/UIProcess/ios/WKContentView.mm Log Message: --- Re-add access to WKBrowsingContextController on iOS with linked-on-or-after check https://bugs.webkit.org/show_bug.cgi?id=274417 rdar://128283322 Reviewed by Brady Eidson. WKBrowsingContextController is SPI that does not exist in public headers, but at least one app is doing some tricky ObjC runtime things to access and use it. This PR puts it back but with a linked-on-or-after check removing access so when the app updates it will no longer be able to access the SPI. The original motivation for disconnecting WKBrowsingContextController was to remove use of ObjCObjectGraph, which was used to communicate with the injected bundle in some early prototypes of multi-process WebKit. I verified ObjCObjectGraph was not used, which makes sense because there is no injected bundle to communicate with. To make this re-adding of WKBrowsingContextController access not hold up the removal of ObjCObjectGraph, I also removed the use of ObjCObjectGraph in WKBrowsingContextController. * Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h: * Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm: (-[WKBrowsingContextController loadRequest:userData:]): (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView browsingContextController]): * Source/WebKit/UIProcess/ios/WKContentView.h: * Source/WebKit/UIProcess/ios/WKContentView.mm: (-[WKContentView browsingContextController]): Canonical link: https://commits.webkit.org/279022@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes