[webkit-changes] [WebKit/WebKit] 973d3a: Implement iframe sandboxing with site isolation

2024-09-13 Thread Alex Christensen
  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

2024-09-13 Thread Alex Christensen
  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...

2024-09-12 Thread Alex Atwater
  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...

2024-09-11 Thread Alex Christensen
  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.

2024-09-05 Thread Alex Marchenko
  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 ...

2024-09-05 Thread Alex Christensen
  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.

2024-09-05 Thread Alex Marchenko
  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

2024-09-04 Thread Alex Christensen
  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 ...

2024-09-03 Thread Alex Christensen
  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...

2024-09-02 Thread Alex Christensen
  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

2024-08-30 Thread Alex Christensen
  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

2024-08-30 Thread Alex Christensen
  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

2024-08-29 Thread Alex Christensen
  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

2024-08-26 Thread Alex Christensen
  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...

2024-08-26 Thread Alex Christensen
  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

2024-08-26 Thread Alex Christensen
  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...

2024-08-25 Thread Alex Christensen
  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...

2024-08-23 Thread Alex Christensen
  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

2024-08-23 Thread Alex Christensen
  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...

2024-08-22 Thread Alex Christensen
  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...

2024-08-21 Thread Alex Christensen
  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...

2024-08-21 Thread Alex Christensen
  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...

2024-08-20 Thread Alex Christensen
  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

2024-08-20 Thread Alex Christensen
  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...

2024-08-19 Thread Alex Christensen
  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

2024-08-17 Thread Alex Christensen
  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...

2024-08-14 Thread Alex Christensen
  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

2024-08-13 Thread Alex Christensen
  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

2024-08-12 Thread Alex Christensen
  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

2024-08-07 Thread Alex Christensen
  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

2024-08-07 Thread Alex Christensen
  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...

2024-08-06 Thread Alex Christensen
  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...

2024-08-03 Thread Alex Christensen
  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...

2024-08-03 Thread Alex Christensen
  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 ...

2024-08-01 Thread Alex Christensen
  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...

2024-07-31 Thread Alex Christensen
  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

2024-07-31 Thread Alex Christensen
  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...

2024-07-31 Thread Alex Christensen
  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...

2024-07-30 Thread Alex Christensen
  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...

2024-07-30 Thread Alex Christensen
  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...

2024-07-29 Thread Alex Christensen
  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...

2024-07-29 Thread Alex Christensen
  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...

2024-07-26 Thread Alex Christensen
  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 ...

2024-07-26 Thread Alex Marchenko
  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...

2024-07-25 Thread Alex Christensen
  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

2024-07-23 Thread Alex Christensen
  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...

2024-07-23 Thread Alex Christensen
  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

2024-07-18 Thread Alex Marchenko
  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...

2024-07-15 Thread Alex Christensen
  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

2024-07-08 Thread Alex Christensen
  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

2024-07-03 Thread Alex Christensen
  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

2024-07-02 Thread Alex Christensen
  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

2024-07-02 Thread Alex Christensen
  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

2024-07-02 Thread Alex Christensen
  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

2024-06-28 Thread Alex Christensen
  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...

2024-06-28 Thread Alex Marchenko
  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

2024-06-27 Thread Alex Christensen
  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...

2024-06-26 Thread Alex Christensen
  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

2024-06-26 Thread Alex Christensen
  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

2024-06-25 Thread Alex Christensen
  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...

2024-06-24 Thread Alex Christensen
  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...

2024-06-24 Thread Alex Christensen
  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

2024-06-22 Thread Alex Christensen
  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...

2024-06-21 Thread Alex Christensen
  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...

2024-06-21 Thread Alex Christensen
  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

2024-06-21 Thread Alex Christensen
  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

2024-06-21 Thread Alex Christensen
  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 ...

2024-06-20 Thread Alex Christensen
  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

2024-06-20 Thread Alex Christensen
  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

2024-06-20 Thread Alex Christensen
  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

2024-06-19 Thread Alex Christensen
  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

2024-06-19 Thread Alex Christensen
  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...

2024-06-17 Thread Alex Christensen
  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

2024-06-17 Thread Alex Christensen
  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...

2024-06-15 Thread Alex Christensen
  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...

2024-06-15 Thread Alex Christensen
  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

2024-06-07 Thread Alex Christensen
  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...

2024-06-07 Thread Alex Christensen
  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

2024-06-07 Thread Alex Christensen
  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...

2024-06-07 Thread Alex Christensen
  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

2024-06-07 Thread Alex Christensen
  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...

2024-06-07 Thread Alex Marchenko
  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...

2024-06-07 Thread Alex Christensen
  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...

2024-06-06 Thread Alex Christensen
  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...

2024-06-05 Thread Alex Christensen
  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

2024-06-04 Thread Alex Christensen
  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...

2024-06-03 Thread Alex Christensen
  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

2024-06-01 Thread Alex Christensen
  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

2024-06-01 Thread Alex Christensen
  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...

2024-05-31 Thread Alex Christensen
  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

2024-05-31 Thread Alex Christensen
  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...

2024-05-30 Thread Alex Christensen
  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...

2024-05-27 Thread Alex Christensen
  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...

2024-05-27 Thread Alex Christensen
  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...

2024-05-24 Thread Alex Christensen
  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...

2024-05-24 Thread Alex Christensen
  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...

2024-05-23 Thread Alex Christensen
  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

2024-05-21 Thread Alex Christensen
  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...

2024-05-21 Thread Alex Christensen
  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...

2024-05-20 Thread Alex Christensen
  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


  1   2   3   4   5   6   7   8   >