Title: [268813] trunk/Source/WebKitLegacy/mac
- Revision
- 268813
- Author
- [email protected]
- Date
- 2020-10-21 11:43:33 -0700 (Wed, 21 Oct 2020)
Log Message
[macOS WK1] provide a way for Apple-internal clients to disable link preview
https://bugs.webkit.org/show_bug.cgi?id=217984
<rdar://problem/70500022>
Reviewed by Tim Horton.
* WebView/WebViewPrivate.h:
* WebView/WebView.mm:
(-[WebView _allowsLinkPreview]): Added.
(-[WebView _setAllowsLinkPreview:]): Added.
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController isEnabled]): Added.
(-[WebImmediateActionController setEnabled:]): Added.
(-[WebImmediateActionController _cancelImmediateAction]):
Modified Paths
Diff
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (268812 => 268813)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2020-10-21 18:38:48 UTC (rev 268812)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2020-10-21 18:43:33 UTC (rev 268813)
@@ -1,3 +1,22 @@
+2020-10-21 Devin Rousso <[email protected]>
+
+ [macOS WK1] provide a way for Apple-internal clients to disable link preview
+ https://bugs.webkit.org/show_bug.cgi?id=217984
+ <rdar://problem/70500022>
+
+ Reviewed by Tim Horton.
+
+ * WebView/WebViewPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _allowsLinkPreview]): Added.
+ (-[WebView _setAllowsLinkPreview:]): Added.
+
+ * WebView/WebImmediateActionController.h:
+ * WebView/WebImmediateActionController.mm:
+ (-[WebImmediateActionController isEnabled]): Added.
+ (-[WebImmediateActionController setEnabled:]): Added.
+ (-[WebImmediateActionController _cancelImmediateAction]):
+
2020-10-20 Sihui Liu <[email protected]>
Add stubs for SpeechRecognition
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebImmediateActionController.h (268812 => 268813)
--- trunk/Source/WebKitLegacy/mac/WebView/WebImmediateActionController.h 2020-10-21 18:38:48 UTC (rev 268812)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebImmediateActionController.h 2020-10-21 18:43:33 UTC (rev 268813)
@@ -58,6 +58,8 @@
- (instancetype)initWithWebView:(WebView *)webView recognizer:(NSImmediateActionGestureRecognizer *)immediateActionRecognizer;
- (void)webViewClosed;
+@property (nonatomic, getter=isEnabled) BOOL enabled;
+
- (void)webView:(WebView *)webView didHandleScrollWheel:(NSEvent *)event;
- (NSImmediateActionGestureRecognizer *)immediateActionRecognizer;
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm (268812 => 268813)
--- trunk/Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm 2020-10-21 18:38:48 UTC (rev 268812)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebImmediateActionController.mm 2020-10-21 18:43:33 UTC (rev 268813)
@@ -100,6 +100,22 @@
_currentActionContext = nil;
}
+- (BOOL)isEnabled
+{
+ return [_immediateActionRecognizer isEnabled];
+}
+
+- (void)setEnabled:(BOOL)enabled
+{
+ if (enabled == [_immediateActionRecognizer isEnabled])
+ return;
+
+ [_immediateActionRecognizer setEnabled:enabled];
+
+ if (![_immediateActionRecognizer isEnabled])
+ [self _cancelImmediateAction];
+}
+
- (void)webView:(WebView *)webView didHandleScrollWheel:(NSEvent *)event
{
[_currentQLPreviewMenuItem close];
@@ -115,8 +131,10 @@
- (void)_cancelImmediateAction
{
// Reset the recognizer by turning it off and on again.
- [_immediateActionRecognizer setEnabled:NO];
- [_immediateActionRecognizer setEnabled:YES];
+ if ([_immediateActionRecognizer isEnabled]) {
+ [_immediateActionRecognizer setEnabled:NO];
+ [_immediateActionRecognizer setEnabled:YES];
+ }
[self _clearImmediateActionState];
[_webView _clearTextIndicatorWithAnimation:WebCore::TextIndicatorWindowDismissalAnimation::FadeOut];
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm (268812 => 268813)
--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2020-10-21 18:38:48 UTC (rev 268812)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm 2020-10-21 18:43:33 UTC (rev 268813)
@@ -7908,6 +7908,21 @@
_private->page->resumeAllMediaPlayback();
}
+#if PLATFORM(MAC)
+- (BOOL)_allowsLinkPreview
+{
+ if (WebImmediateActionController *immediateActionController = _private->immediateActionController)
+ return immediateActionController.enabled;
+ return NO;
+}
+
+- (void)_setAllowsLinkPreview:(BOOL)allowsLinkPreview
+{
+ if (WebImmediateActionController *immediateActionController = _private->immediateActionController)
+ immediateActionController.enabled = allowsLinkPreview;
+}
+#endif
+
- (void)addVisitedLinks:(NSArray *)visitedLinks
{
WebVisitedLinkStore& visitedLinkStore = _private->group->visitedLinkStore();
Modified: trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h (268812 => 268813)
--- trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h 2020-10-21 18:38:48 UTC (rev 268812)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h 2020-10-21 18:43:33 UTC (rev 268813)
@@ -314,6 +314,10 @@
- (void)suspendAllMediaPlayback;
- (void)resumeAllMediaPlayback;
+#if !TARGET_OS_IPHONE
+@property (nonatomic, setter=_setAllowsLinkPreview:) BOOL _allowsLinkPreview;
+#endif
+
// Add visited links
- (void)addVisitedLinks:(NSArray *)visitedLinks;
#if TARGET_OS_IPHONE
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes