Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f1b689718fc338cb424e1e572e376f3783d19c32
      
https://github.com/WebKit/WebKit/commit/f1b689718fc338cb424e1e572e376f3783d19c32
  Author: Richard Robinson <[email protected]>
  Date:   2026-08-03 (Mon, 03 Aug 2026)

  Changed paths:
    M Source/WebKit/UIProcess/API/Swift/WebPage+SPI.swift
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/_WebKit_SwiftUI/API/View+WebViewModifiers.swift
    A Source/WebKit/_WebKit_SwiftUI/API/WebView+ViewportConfiguration.swift
    M 
Source/WebKit/_WebKit_SwiftUI/Implementation/EnvironmentValues+Extras.swift
    M Source/WebKit/_WebKit_SwiftUI/Implementation/WebViewRepresentable.swift
    M Tools/TestWebKitAPI/Helpers/cocoa/SwiftUI+Extras.swift
    M Tools/TestWebKitAPI/Tests/WebKit/WebPage/WebViewTests.swift

  Log Message:
  -----------
  [SwiftUI WebKit API] Expose _overrideViewportWithArguments on WebPage
https://bugs.webkit.org/show_bug.cgi?id=320832
rdar://183775063

Reviewed by Aditya Keerthi.

Expose SPI on `WebView` in the form of a view modifier to allow clients to 
custom the values of viewport
attributes, similar to the existing `WKWebView._overrideViewportWithArguments` 
SPI.

Test: Tools/TestWebKitAPI/Tests/WebKit/WebPage/WebViewTests.swift

* Source/WebKit/UIProcess/API/Swift/WebPage+SPI.swift:
(WebPage.setMenuBuilder(_:)):
(smartListsEnabled):
(magnification):
(WebPage.smartListsEnabled): Deleted.
* Tools/TestWebKitAPI/Helpers/cocoa/SwiftUI+Extras.swift:

Testing infrastructure.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/_WebKit_SwiftUI/API/View+WebViewModifiers.swift:
* Source/WebKit/_WebKit_SwiftUI/API/WebView+ViewportConfiguration.swift: Added.
(deviceWidth):
(Storage.deviceHeight):
(WebView.dictionaryRepresentation):
* Source/WebKit/_WebKit_SwiftUI/Implementation/EnvironmentValues+Extras.swift:
(EnvironmentValues.webViewViewportConfiguration):
* Source/WebKit/_WebKit_SwiftUI/Implementation/WebViewRepresentable.swift:
(WebViewRepresentable.updatePlatformView(_:context:)):

Add the new view modifier.

* Tools/TestWebKitAPI/Tests/WebKit/WebPage/WebViewTests.swift:
(ViewModel.viewportWidth):
(ViewModel.viewportInitialScale):
(TestView.body):
(WebViewTests.applyingContentEnvironmentAffectsPageSemantics):
(WebViewTests.overrideViewportArgumentsAffectsPageViewport):

Add a new test.

Canonical link: https://commits.webkit.org/318497@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to