Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9b4b2aab8589840de71c3f65035c20b10057ce66
      
https://github.com/WebKit/WebKit/commit/9b4b2aab8589840de71c3f65035c20b10057ce66
  Author: Jessica Cheung <jcheun...@apple.com>
  Date:   2024-12-10 (Tue, 10 Dec 2024)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
    M Source/WebCore/PAL/pal/PlatformMac.cmake
    A Source/WebCore/PAL/pal/cocoa/ScreenTimeSoftLink.h
    A Source/WebCore/PAL/pal/cocoa/ScreenTimeSoftLink.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
    M Source/WebKit/UIProcess/PageClient.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/mac/PageClientImplMac.h
    M Source/WebKit/UIProcess/mac/PageClientImplMac.mm

  Log Message:
  -----------
  [Screen Time Refactoring] macOS support for URL donations
https://bugs.webkit.org/show_bug.cgi?id=283944
rdar://140438800

Reviewed by Aditya Keerthi and Tim Horton.

Add a flag/preference to enable Screen Time donation.
Implemented Screen Time donation for loaded pages.
Installed Screen Time shield view to block web content when needed.
Halts media playback when web content is blocked
and shield is shown (not supported for PIP yet).

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj:
* Source/WebCore/PAL/pal/PlatformMac.cmake:
* Source/WebCore/PAL/pal/cocoa/ScreenTimeSoftLink.h: Added.
* Source/WebCore/PAL/pal/cocoa/ScreenTimeSoftLink.mm: Added.
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _installScreenTimeWebpageController]):
(-[WKWebView _uninstallScreenTimeWebpageController]):
(-[WKWebView observeValueForKeyPath:ofObject:change:context:]):
(-[WKWebView dealloc]):
(-[WKWebView _screenTimeWebpageController]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::installScreenTimeWebpageController):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::prepareToLoadWebPage):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::installScreenTimeWebpageController):
(WebKit::updateScreenTimeWebpageControllerURL):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):

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