[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