Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 00588182d1cf03e9414afa467d2266b7bc293317
      
https://github.com/WebKit/WebKit/commit/00588182d1cf03e9414afa467d2266b7bc293317
  Author: Richard Robinson <richard_robins...@apple.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Swift/WKUIDelegateAdapter.swift
    M Source/WebKit/UIProcess/API/Swift/WebPage+Configuration.swift
    M Source/WebKit/UIProcess/API/Swift/WebPage.swift
    M Tools/SwiftBrowser/Resources/iOS/Info.plist
    M Tools/SwiftBrowser/Resources/mac/Info.plist
    M Tools/SwiftBrowser/Source/AppStorageKeys.swift
    M Tools/SwiftBrowser/Source/BrowserViewModel.swift
    M Tools/SwiftBrowser/Source/ContentView.swift
    M Tools/SwiftBrowser/Source/SettingsView.swift

  Log Message:
  -----------
  [SwiftUI] Support media-related API functionality
https://bugs.webkit.org/show_bug.cgi?id=284651
rdar://141109070

Reviewed by Aditya Keerthi.

Add functionality to support controlling media interaction to WebPage and 
WebView:

* Adds an observable `fullscreenState` to WebPage which is analogous to the one 
on WKWebView.
* Adds some functions to WebPage which are analogous to their WebPage 
counterparts, such as `setAllMediaPlaybackSuspended`
* Adds several properties and functions to WebPage to be able to observe and 
control camera and microphone capture state.
* Adds support for customizing when permission prompts are displayed.

* Source/WebKit/UIProcess/API/Swift/View+WebViewModifiers.swift:
(EnvironmentValues.webViewCameraCaptureState):
(EnvironmentValues.webViewMicrophoneCaptureState):
(View.webViewCameraCaptureState(_:)):
(View.webViewMicrophoneCaptureState(_:)):
* Source/WebKit/UIProcess/API/Swift/WebPage.swift:
(fullscreenState):
(pauseAllMediaPlayback):
(mediaPlaybackState):
(setAllMediaPlaybackSuspended(_:)):
(closeAllMediaPresentations):
(WebPage_v0.handlesURLScheme(_:)): Deleted.
(WebPage_v0.backForwardList): Deleted.
(WebPage_v0.url): Deleted.
(WebPage_v0.title): Deleted.
(WebPage_v0.estimatedProgress): Deleted.
(WebPage_v0.isLoading): Deleted.
(WebPage_v0.serverTrust): Deleted.
(WebPage_v0.hasOnlySecureContent): Deleted.
(WebPage_v0.isWritingToolsActive): Deleted.
(WebPage_v0.mediaType): Deleted.
(WebPage_v0.customUserAgent): Deleted.
(WebPage_v0.isInspectable): Deleted.
(WebPage_v0.backingWebView): Deleted.
(WebPage_v0.load(_:)): Deleted.
(WebPage_v0.load(_:mimeType:characterEncoding:baseURL:)): Deleted.
(WebPage_v0.load(_:baseURL:)): Deleted.
(WebPage_v0.load(fileURL:allowingReadAccessTo:)): Deleted.
(WebPage_v0.load(fileRequest:allowingReadAccessTo:)): Deleted.
(WebPage_v0.load(simulatedRequest:response:responseData:)): Deleted.
(WebPage_v0.load(simulatedRequest:responseHTML:)): Deleted.
(WebPage_v0.reload(_:)): Deleted.
(WebPage_v0.stopLoading): Deleted.
(WebPage_v0.callAsyncJavaScript(_:arguments:in:contentWorld:)): Deleted.
(WebPage_v0.snapshot(_:)): Deleted.
(WebPage_v0.pdf(_:)): Deleted.
(WebPage_v0.webArchiveData): Deleted.
* Source/WebKit/UIProcess/API/Swift/WebView.swift:
(WebViewRepresentable.makePlatformView(_:)):
(WebViewRepresentable.updatePlatformView(_:context:)):
(WebViewRepresentable.makeCoordinator):
(Coordinator.cameraCaptureState):
(Coordinator.microphoneCaptureState):
(Coordinator.observations):
(Coordinator.owner):
(Coordinator.updateObservations):
* Tools/SwiftBrowser/Resources/iOS/Info.plist:
* Tools/SwiftBrowser/Resources/mac/Info.plist:
* Tools/SwiftBrowser/Source/ContentView.swift:
(LabelConfiguration.captureState):
(LabelConfiguration.body):
(PrincipalToolbarGroup.cameraCaptureState):
(PrincipalToolbarGroup.microphoneCaptureState):
(PrincipalToolbarGroup.body):
(ContentView.cameraCaptureState):
(ContentView.microphoneCaptureState):
(ContentView.body):

Canonical link: https://commits.webkit.org/288251@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

Reply via email to