Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5569b5afe8b5673cb3cca273a283da14a75ed525
      
https://github.com/WebKit/WebKit/commit/5569b5afe8b5673cb3cca273a283da14a75ed525
  Author: Jessica Cheung <jcheun...@apple.com>
  Date:   2025-02-28 (Fri, 28 Feb 2025)

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

  Log Message:
  -----------
  [Screen Time Refactoring] Web content behind shield is still clickable
https://bugs.webkit.org/show_bug.cgi?id=288505
rdar://144999810

Reviewed by Aditya Keerthi.

If the system Screen Time shield is up and we click on the shield,
we may accidently click on a link or other elements underneath the shield.
The web content underneath should not be interactive while the shield is up.
Thus, do not process the mouse events while the shield is up and URL is blocked.

The blurred view that is installed when `_showsSystemScreenTimeBlockingView` is 
false
also had this issue. Due to this change, we can remove WKSTVisualEffectView, 
which
was used to prevent navigation to links via clicking links that are "underneath"
the blurred view.

This change fixes this issue for both the system Screen Time shield and
the blurred view.

Add API tests to make sure the web content is not clickable or interactive
while the system Screen Time shield or blocking view is up.

* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView observeValueForKeyPath:ofObject:change:context:]):
(-[WKSTVisualEffectView mouseDown:]): Deleted.
(-[WKSTVisualEffectView rightMouseDown:]): Deleted.
(-[WKSTVisualEffectView mouseMoved:]): Deleted.
(-[WKSTVisualEffectView mouseEntered:]): Deleted.
(-[WKSTVisualEffectView mouseExited:]): Deleted.
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::nativeMouseEventHandlerInternal):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ScreenTime.mm:
(testWebContentIsNotClickableShowingSystemScreenTimeBlockingView):
(TEST(ScreenTime, WebContentIsNotClickableBehindSystemScreenTimeBlockingView)):
(TEST(ScreenTime, WebContentIsNotClickableBehindBlurredBlockingView)):

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