Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2302a8a6064a27a03cb9921a2131780768dab35f
      
https://github.com/WebKit/WebKit/commit/2302a8a6064a27a03cb9921a2131780768dab35f
  Author: Jessica Cheung <jcheun...@apple.com>
  Date:   2025-04-28 (Mon, 28 Apr 2025)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ScreenTime.mm

  Log Message:
  -----------
  [Screen Time Refactoring] Apps glitch due to ScreenTimeWebExtension
https://bugs.webkit.org/show_bug.cgi?id=292019
rdar://149961063

Reviewed by Aditya Keerthi.

Currently, we call STWebpageController's loadView and
add the subview to the WKWebView regardless of the type of URL.
Some apps may be using a WKWebView for purposes other than
displaying web content. In those cases, Screen Time
functionality is not used and we shouldn't
call STWebpageController's loadView, add the subview or
install the controller in general since it is not
needed unless we are actually loading an http/https URL.

Add an API test to ensure we only install the STWebpageController
for http/https URLs. Additionally, alter some other API tests
to request valid http/https URLs due to this change.

Rename API test URLIsPictureInPictureMacos to
URLIsPictureInPicture.

* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _installScreenTimeWebpageControllerIfNeeded]):
(-[WKWebView _updateScreenTimeBasedOnWindowVisibility]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ScreenTime.mm:
(testSuppressUsageRecordingWithDataStore):
(testShowsSystemScreenTimeBlockingView):
(testWebContentIsNotClickableShowingSystemScreenTimeBlockingView):
(TEST(ScreenTime, IsBlockedByScreenTimeTrue)):
(TEST(ScreenTime, IsBlockedByScreenTimeFalse)):
(TEST(ScreenTime, IsBlockedByScreenTimeMultiple)):
(TEST(ScreenTime, IsBlockedByScreenTimeKVO)):
(TEST(ScreenTime, IdentifierNil)):
(TEST(ScreenTime, IdentifierString)):
(TEST(ScreenTime, URLIsPlayingVideo)):
(TEST(ScreenTime, URLIsPictureInPicture)):
(TEST(ScreenTime, RemoveDataWithTimeInterval)):
(TEST(ScreenTime, OffscreenSystemScreenTimeBlockingView)):
(TEST(ScreenTime, OffscreenBlurredScreenTimeBlockingView)):
(TEST(ScreenTime, DoNotDonateURLsInOccludedWebView)):
(TEST(ScreenTime, CreateControllerAfterOffscreenWebViewBecomesInWindow)):
(TEST(ScreenTime, 
ScreenTimeControllerSetsURLWhenOffscreenWebViewBecomesInWindow)):
(TEST(ScreenTime, ScreenTimeControllerInstalledAfterRestoreFromSessionState)):
(TEST(ScreenTime, ScreenTimeControllerViewOnlyInstalledForHTTPFamily)):
(TEST(ScreenTime, URLIsPictureInPictureMacos)): Deleted.

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