[webkit-changes] [WebKit/WebKit] 058806: Cherry-pick ea1cc85f82ed. rdar://125040242
Justin Michaud
noreply at github.com
Tue May 14 14:19:34 PDT 2024
Branch: refs/heads/safari-7619.1.6-branch
Home: https://github.com/WebKit/WebKit
Commit: 058806879e0742a7a330fbe9dc97198c13f48f8c
https://github.com/WebKit/WebKit/commit/058806879e0742a7a330fbe9dc97198c13f48f8c
Author: Etienne Segonzac <sgz at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/WebKitSwift/Preview/PreviewWindowController.swift
M Source/WebKit/WebKitSwift/Preview/WKSPreviewWindowController.h
Log Message:
-----------
Cherry-pick ea1cc85f82ed. rdar://125040242
Update the PreviewWindowController to use PreviewItem
https://bugs.webkit.org/show_bug.cgi?id=271291
<rdar://125040242>
Reviewed by Aditya Keerthi.
Update the PreviewWindowController to use PreviewItem. Since this is a
Swift type, WKSPreviewWindowController now takes a URL directly on init
and instantiates the PreviewItem internally.
* Source/WebKit/WebKitSwift/Preview/WKSPreviewWindowController.h:
New designated initializer.
* Source/WebKit/WebKitSwift/Preview/PreviewWindowController.swift:
(PreviewWindowController.item):
(PreviewWindowController.presentWindow):
Update to the PreviewItem variant of the`open` method.
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController _performSpatialFullScreenTransition:completionHandler:]):
Use the new WKSPreviewWindowController initializer.
Canonical link: https://commits.webkit.org/276381@main
Identifier: 276246.1 at safari-7619.1.6-branch
Commit: 330a366065e620879b93c275dc6fcd54632aec9e
https://github.com/WebKit/WebKit/commit/330a366065e620879b93c275dc6fcd54632aec9e
Author: Per Arne Vollan <pvollan at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A Source/WebKit/Platform/spi/Cocoa/AccessibilityUtilitiesSPI.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Log Message:
-----------
Cherry-pick e80405b7652c. rdar://124950453
Create header file for AX interface declaration
https://bugs.webkit.org/show_bug.cgi?id=271206
rdar://124950453
Reviewed by Sihui Liu and Chris Dumez.
Guard against potential build issues, by moving interface declaration to a header file.
* Source/WebKit/Platform/spi/Cocoa/AccessibilityUtilitiesSPI.h: Added.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
Canonical link: https://commits.webkit.org/276333@main
Identifier: 276246.2 at safari-7619.1.6-branch
Commit: 4e25218901771d337c13e370248a5a32328b0012
https://github.com/WebKit/WebKit/commit/4e25218901771d337c13e370248a5a32328b0012
Author: Commit Queue <commit-queue at webkit.org>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/runtime/InitializeThreading.cpp
M Source/JavaScriptCore/runtime/MachineContext.h
M Source/JavaScriptCore/runtime/VMTraps.cpp
M Source/JavaScriptCore/wasm/WasmFaultSignalHandler.cpp
M Source/JavaScriptCore/wasm/WasmFaultSignalHandler.h
M Source/WTF/WTF.xcodeproj/project.pbxproj
M Source/WTF/wtf/PlatformJSCOnly.cmake
M Source/WTF/wtf/PlatformMac.cmake
M Source/WTF/wtf/PlatformRegisters.cpp
M Source/WTF/wtf/PlatformRegisters.h
M Source/WTF/wtf/threads/Signals.cpp
M Source/WTF/wtf/threads/Signals.h
M Source/WTF/wtf/win/SignalsWin.cpp
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
M Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
M Tools/TestWebKitAPI/Tests/WTF/Signals.cpp
Log Message:
-----------
Cherry-pick 6c9fb3193d9d. rdar://124970644
Unreviewed, reverting 276198 at main and 276218 at main.
https://bugs.webkit.org/show_bug.cgi?id=271182
Broke internal Safari
Reverted changesets:
"new exception handler adoption"
https://bugs.webkit.org/show_bug.cgi?id=269728
https://commits.webkit.org/276198@main
"fix darwin_arm_thread_state64 macro usage build issue"
https://bugs.webkit.org/show_bug.cgi?id=271097
https://commits.webkit.org/276218@main
Canonical link: https://commits.webkit.org/276302@main
Identifier: 274976.1273 at safari-7619.1.6-branch
Commit: 70c2b26916f65d842c85828b7c5928f4c4021fb3
https://github.com/WebKit/WebKit/commit/70c2b26916f65d842c85828b7c5928f4c4021fb3
Author: Andy Estes <aestes at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm
M Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm
M Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm
M Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm
M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/WKUSDPreviewView.mm
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
Log Message:
-----------
Cherry-pick 6f450cea7dc6. rdar://124974019
REGRESSION (276177 at main): Fullscreen API tests crash with a UIViewControllerHierarchyInconsistency exception
https://bugs.webkit.org/show_bug.cgi?id=271193
rdar://124974019
Reviewed by Eric Carlson.
276177 at main changed how VideoPresentationInterface embeds its player view in the parent view to
ensure that -addChildViewController: and -didMoveToParentViewController: are called on the parent
view's view controller. This exposed a bug in VideoPresentationInterfaceIOS::presentingViewController()
where the API client's presenting view controller would be returned even if the WKWebView was moved
to a WKFullScreenViewController, resulting in a UIViewControllerHierarchyInconsistency exception
being thrown.
Resolved this by ensuring VideoPresentationInterfaceIOS::presentingViewController() returns the
WKFullScreenViewController when in element fullscreen. This is done by introducing
PageClient::presentingViewController() which returns the WKFullScreenViewController if in element
fullscreen, otherwise returning UIClient::presentingViewController(). Added FIXME comments to other
call sites of UIClient::presentingViewController() mentioning that this call may be incorrect when
in element fullscreen.
* Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:
(WebKit::ModelElementController::takeModelElementFullscreen):
* Source/WebKit/UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::presentViewController):
* Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
* Source/WebKit/UIProcess/Cocoa/VideoPresentationManagerProxy.mm:
(WebKit::VideoPresentationModelContext::presentingViewController):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::startApplePayAMSUISession):
* Source/WebKit/UIProcess/PageClient.h:
* Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm:
(WebKit::ARKitCoordinator::startSession):
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::presentingViewController const):
* Source/WebKit/UIProcess/ios/WKUSDPreviewView.mm:
(-[WKUSDPreviewView thumbnailView:wantsToPresentPreviewController:forItem:]):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::showValidationMessage):
(WebKit::WebPageProxy::Internals::paymentCoordinatorPresentingViewController):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController fullScreenViewController]):
Canonical link: https://commits.webkit.org/276356@main
Identifier: 276246.5 at safari-7619.1.6-branch
Commit: fe24ace131526eaa6a35b10e53c86a6ceecde606
https://github.com/WebKit/WebKit/commit/fe24ace131526eaa6a35b10e53c86a6ceecde606
Author: Andy Estes <aestes at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm
Log Message:
-----------
Cherry-pick e021db348aed. rdar://125019855
REGRESSION (276177 at main): LinearMediaPlayer controls briefly appear when entering element fullscreen
https://bugs.webkit.org/show_bug.cgi?id=271251
rdar://125019855
Reviewed by Jer Noble.
On platforms that support fullscreen standby, VideoPresentationInterface::setupFullscreen() is
called (with `standby` set to true) when element fullscreen is activated for an element containing
a <video> descendant. This prewarms the presentation interface so that's it's ready to enter
picture-in-picture if requested.
After 276177 at main, this prewarming inserts a LMKPlayableViewController in the WKWebView's hierarchy.
Even though the VC's root view's `hidden` property is set to YES, due to a bug in LinearMediaKit
parts of the media controls remain visible for a brief period. To work around this bug, since
visionOS does not support automatic picture-in-picture we can just disable support for fullscreen
standby. This avoids calls to VideoPresentationInterface::setupFullscreen() when entering element
fullscreen.
* Source/WebKit/WebProcess/cocoa/VideoPresentationManager.mm:
(WebKit::VideoPresentationManager::supportsVideoFullscreenStandby const):
Canonical link: https://commits.webkit.org/276364@main
Identifier: 276246.6 at safari-7619.1.6-branch
Commit: 6e3b30db2738d8d5e27ead6446b131bebacf739b
https://github.com/WebKit/WebKit/commit/6e3b30db2738d8d5e27ead6446b131bebacf739b
Author: Wenson Hsieh <wenson_hsieh at apple.com>
Date: 2024-03-20 (Wed, 20 Mar 2024)
Changed paths:
A LayoutTests/fast/events/ios/autocorrect-with-caret-selection-expected.txt
A LayoutTests/fast/events/ios/autocorrect-with-caret-selection.html
M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
Log Message:
-----------
Cherry-pick e9f9c8bd018f. rdar://125034366
REGRESSION (275503 at main): Autocorrection candidates fail to insert text when the selection is collapsed
https://bugs.webkit.org/show_bug.cgi?id=271288
rdar://125034366
Reviewed by Richard Robinson.
The change in 275503 at main refactored the text search logic in `WebPage::applyAutocorrectionInternal`
to use `rangeExpandedAroundPositionByCharacters` and `findPlainText`. However, this missed one
subtlety in the previous implementation, which is that it would set the `range` to the current
selection, in the case where both:
1. The current selection is collapsed, and
2. The `originalText` is also the empty string.
This scenario is exercised simply by inserting content by pressing one of the predictive text
candidates above the software keyboard on iOS, when the selection is after a space following a
previous word — for example:
```
Hello |(world)
```
...where `(world)` represents the predictive text candidate. The new codepath always fails here,
since `findPlainText` will be given an empty range (which it returns), and then we fail the
subsequent `!isCollapsed` check (which only makes sense in the case where the original text is non-
empty).
To fix this, we simply avoid falling down this `rangeExpandedAroundPositionByCharacters` codepath in
the first place when the selection is collapsed, and just insert the text candidate.
* LayoutTests/fast/events/ios/autocorrect-with-caret-selection.html: Added.
* LayoutTests/fast/events/ios/autocorrect-with-caret-selection-expected.txt: Added.
Add a layout test to exercise the change.
* Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applyAutocorrectionInternal):
Canonical link: https://commits.webkit.org/276385@main
Identifier: 276246.7 at safari-7619.1.6-branch
Commit: 51e7e4e9efe9643ae5b5da899fcb70c14c035143
https://github.com/WebKit/WebKit/commit/51e7e4e9efe9643ae5b5da899fcb70c14c035143
Author: Myah Cobbs <mcobbs at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M Configurations/Version.xcconfig
Log Message:
-----------
Versioning.
WebKit-619.1.6.1
Identifier: 276246.8 at safari-7619.1.6-branch
Commit: 4320d687ee2b204ae29a0ea9b8f8f35f9fe6f435
https://github.com/WebKit/WebKit/commit/4320d687ee2b204ae29a0ea9b8f8f35f9fe6f435
Author: Per Arne Vollan <pvollan at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M Source/WTF/wtf/PlatformUse.h
M Source/WebKit/Configurations/BaseExtension.xcconfig
M Source/WebKit/Configurations/BaseXPCService.xcconfig
M Source/WebKit/Configurations/GPUService.xcconfig
M Source/WebKit/Configurations/NetworkService.xcconfig
M Source/WebKit/Configurations/WebContentService.xcconfig
M Source/WebKit/Configurations/WebKit.xcconfig
Log Message:
-----------
Cherry-pick b976b6b01acf. rdar://124008037
Enable WebKit process extensions on newer OS versions
https://bugs.webkit.org/show_bug.cgi?id=270444
rdar://124008037
Reviewed by Chris Dumez.
* Source/WebKit/Configurations/BaseExtension.xcconfig:
* Source/WebKit/Configurations/BaseXPCService.xcconfig:
* Source/WebKit/Configurations/GPUService.xcconfig:
* Source/WebKit/Configurations/NetworkService.xcconfig:
* Source/WebKit/Configurations/WebContentService.xcconfig:
* Source/WebKit/Configurations/WebKit.xcconfig:
Canonical link: https://commits.webkit.org/275857@main
Identifier: 276246.9 at safari-7619.1.6-branch
Commit: 8c847ec97f1ea45f0c8ce23557b2ef41c8e9d2f1
https://github.com/WebKit/WebKit/commit/8c847ec97f1ea45f0c8ce23557b2ef41c8e9d2f1
Author: Per Arne Vollan <pvollan at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M Source/WTF/wtf/spi/darwin/XPCSPI.h
M Source/WebKit/Scripts/process-entitlements.sh
M Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm
Log Message:
-----------
Cherry-pick c28465076e27. rdar://124356858
Restrict access to notifyd only when process has entitlement
https://bugs.webkit.org/show_bug.cgi?id=271247
rdar://124356858
Reviewed by Sihui Liu.
Restrict access to notifyd only when process has entitlement. This entitlement will only be set in the WebContent process for now.
This change is fixing a regression from <https://commits.webkit.org/275186@main>, where notifications are not being received in
the GPU process and Networking process, since notification changes are only being pushed to the WebContent process.
* Source/WTF/wtf/spi/darwin/XPCSPI.h:
* Source/WebKit/Scripts/process-entitlements.sh:
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::shouldRestrictNotifyd):
(WebKit::setNotifyOptions):
Canonical link: https://commits.webkit.org/276376@main
Identifier: 276246.10 at safari-7619.1.6-branch
Commit: 0c73ca746576d2e54ad20426870ca352668994c7
https://github.com/WebKit/WebKit/commit/0c73ca746576d2e54ad20426870ca352668994c7
Author: Myah Cobbs <mcobbs at apple.com>
Date: 2024-03-22 (Fri, 22 Mar 2024)
Changed paths:
M Configurations/Version.xcconfig
Log Message:
-----------
Versioning.
WebKit-619.1.6.2
Identifier: 276246.11 at safari-7619.1.6-branch
Commit: 1c151e692e6b8658cc8247e73f8e0ec9b0c22115
https://github.com/WebKit/WebKit/commit/1c151e692e6b8658cc8247e73f8e0ec9b0c22115
Author: Myah Cobbs <mcobbs at apple.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M Configurations/Version.xcconfig
Log Message:
-----------
Versioning.
WebKit-619.1.6.3
Identifier: 276246.12 at safari-7619.1.6-branch
Commit: f093af5b10b086b48c02ad37f27638e03a60d216
https://github.com/WebKit/WebKit/commit/f093af5b10b086b48c02ad37f27638e03a60d216
Author: Justin Michaud <justin at justinmichaud.com>
Date: 2024-03-25 (Mon, 25 Mar 2024)
Changed paths:
M Source/JavaScriptCore/Configurations/Base.xcconfig
M Source/WTF/wtf/PlatformUse.h
M Source/WebCore/Configurations/WebCore.xcconfig
Log Message:
-----------
Cherry-pick 5a21270b8270. rdar://125362649
Revert BECore cleanup.
https://bugs.webkit.org/show_bug.cgi?id=271661
rdar://125362649
Reviewed by Wenson Hsieh.
This broke some builds.
* Source/JavaScriptCore/Configurations/Base.xcconfig:
* Source/WTF/wtf/PlatformUse.h:
* Source/WebCore/Configurations/WebCore.xcconfig:
Canonical link: https://commits.webkit.org/276634@main
Identifier: 276246.13 at safari-7619.1.6-branch
Compare: https://github.com/WebKit/WebKit/compare/058806879e07%5E...f093af5b10b0
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list