- Revision
- 261714
- Author
- dba...@webkit.org
- Date
- 2020-05-14 15:29:28 -0700 (Thu, 14 May 2020)
Log Message
[iOS] Remove dead dictation code
https://bugs.webkit.org/show_bug.cgi?id=211871
Reviewed by Wenson Hsieh.
Source/WebKit:
UIKit has long removed all callers that would call -nextUnperturbedDictationResultBoundaryFromPosition
and -previousUnperturbedDictationResultBoundaryFromPosition. So, remove the implementations.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView previousUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
(-[WKContentView nextUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
Source/WebKitLegacy/ios:
* DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate isUnperturbedDictationResultMarker:]): Deleted.
* WebCoreSupport/WebFrameIOS.h:
* WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
* WebView/WebUIKitDelegate.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (261713 => 261714)
--- trunk/Source/WebKit/ChangeLog 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKit/ChangeLog 2020-05-14 22:29:28 UTC (rev 261714)
@@ -1,3 +1,17 @@
+2020-05-14 Daniel Bates <daba...@apple.com>
+
+ [iOS] Remove dead dictation code
+ https://bugs.webkit.org/show_bug.cgi?id=211871
+
+ Reviewed by Wenson Hsieh.
+
+ UIKit has long removed all callers that would call -nextUnperturbedDictationResultBoundaryFromPosition
+ and -previousUnperturbedDictationResultBoundaryFromPosition. So, remove the implementations.
+
+ * UIProcess/ios/WKContentViewInteraction.mm:
+ (-[WKContentView previousUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
+ (-[WKContentView nextUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
+
2020-05-14 Brady Eidson <beid...@apple.com>
Crash in PDFPlugin::ensureDataBufferLength
Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (261713 => 261714)
--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2020-05-14 22:29:28 UTC (rev 261714)
@@ -5579,18 +5579,6 @@
return nil;
}
-// Returns the dictation result boundaries from position so that text that was not dictated can be excluded from logging.
-// If these are not implemented, no text will be logged.
-- (UITextPosition *)previousUnperturbedDictationResultBoundaryFromPosition:(UITextPosition *)position
-{
- return nil;
-}
-
-- (UITextPosition *)nextUnperturbedDictationResultBoundaryFromPosition:(UITextPosition *)position
-{
- return nil;
-}
-
// The can all be (and have been) trivially implemented in terms of UITextInput. Deprecate and remove.
- (void)moveBackward:(unsigned)count
{
Modified: trunk/Source/WebKitLegacy/ios/ChangeLog (261713 => 261714)
--- trunk/Source/WebKitLegacy/ios/ChangeLog 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKitLegacy/ios/ChangeLog 2020-05-14 22:29:28 UTC (rev 261714)
@@ -1,3 +1,18 @@
+2020-05-14 Daniel Bates <daba...@apple.com>
+
+ [iOS] Remove dead dictation code
+ https://bugs.webkit.org/show_bug.cgi?id=211871
+
+ Reviewed by Wenson Hsieh.
+
+ * DefaultDelegates/WebDefaultUIKitDelegate.m:
+ (-[WebDefaultUIKitDelegate isUnperturbedDictationResultMarker:]): Deleted.
+ * WebCoreSupport/WebFrameIOS.h:
+ * WebCoreSupport/WebFrameIOS.mm:
+ (-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
+ (-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]): Deleted.
+ * WebView/WebUIKitDelegate.h:
+
2020-05-10 Tim Horton <timothy_hor...@apple.com>
Clicking a tel:// link on iPad with a trackpad presents different UI than tapping on it
Modified: trunk/Source/WebKitLegacy/ios/DefaultDelegates/WebDefaultUIKitDelegate.m (261713 => 261714)
--- trunk/Source/WebKitLegacy/ios/DefaultDelegates/WebDefaultUIKitDelegate.m 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKitLegacy/ios/DefaultDelegates/WebDefaultUIKitDelegate.m 2020-05-14 22:29:28 UTC (rev 261714)
@@ -288,11 +288,6 @@
return 0;
}
-- (BOOL)isUnperturbedDictationResultMarker:(id)metadataForMarker
-{
- return NO;
-}
-
- (void)webView:(WebView *)webView willAddPlugInView:(id)plugInView
{
}
Modified: trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.h (261713 => 261714)
--- trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.h 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.h 2020-05-14 22:29:28 UTC (rev 261714)
@@ -88,9 +88,6 @@
- (BOOL)renderedCharactersExceed:(NSUInteger)threshold;
-- (WebVisiblePosition *)previousUnperturbedDictationResultBoundaryFromPosition:(WebVisiblePosition *)position;
-- (WebVisiblePosition *)nextUnperturbedDictationResultBoundaryFromPosition:(WebVisiblePosition *)position;
-
- (CGRect)elementRectAtPoint:(CGPoint)point;
@end
Modified: trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.mm (261713 => 261714)
--- trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.mm 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKitLegacy/ios/WebCoreSupport/WebFrameIOS.mm 2020-05-14 22:29:28 UTC (rev 261714)
@@ -805,112 +805,6 @@
return frame->view()->renderedCharactersExceed(threshold);
}
-// Iterates backward through the document and returns the point at which untouched dictation results end.
-- (WebVisiblePosition *)previousUnperturbedDictationResultBoundaryFromPosition:(WebVisiblePosition *)position
-{
- VisiblePosition currentVisiblePosition = [position _visiblePosition];
- if (currentVisiblePosition.isNull())
- return position;
-
- Document& document = currentVisiblePosition.deepEquivalent().anchorNode()->document();
-
- id uikitDelegate = [[self webView] _UIKitDelegate];
- if (![uikitDelegate respondsToSelector:@selector(isUnperturbedDictationResultMarker:)])
- return position;
-
- while (currentVisiblePosition.isNotNull()) {
- WebVisiblePosition *currentWebVisiblePosition = [WebVisiblePosition _wrapVisiblePosition:currentVisiblePosition];
-
- auto* currentNode = currentVisiblePosition.deepEquivalent().anchorNode();
- unsigned lastOffset = lastOffsetForEditing(*currentNode);
-
- VisiblePosition previousVisiblePosition = currentVisiblePosition.previous();
- if (previousVisiblePosition.isNull())
- return currentWebVisiblePosition;
-
- auto graphemeRange = Range::create(document, previousVisiblePosition.deepEquivalent(), currentVisiblePosition.deepEquivalent());
-
- auto markers = document.markers().markersInRange(graphemeRange, DocumentMarker::DictationResult);
- if (markers.isEmpty())
- return currentWebVisiblePosition;
-
- // FIXME: Result markers should not overlap, so there should only ever be one for a single grapheme.
- // <rdar://problem/9810617> Too much document context is omitted when sending dictation hints because of problems with WebCore DocumentMarkers
- // ASSERT(markers.size() == 1);
- if (markers.size() > 1)
- return currentWebVisiblePosition;
-
- auto& marker = *markers[0];
-
- // FIXME: WebCore doesn't always update markers correctly during editing. Bail if resultMarker extends off the edge of this node, because that means it's invalid.
- if (marker.endOffset() > lastOffset)
- return currentWebVisiblePosition;
-
- if (![uikitDelegate isUnperturbedDictationResultMarker:WTF::get<RetainPtr<id>>(marker.data()).get()])
- return currentWebVisiblePosition;
-
- if (marker.startOffset() > 0)
- return [WebVisiblePosition _wrapVisiblePosition:VisiblePosition(createLegacyEditingPosition(currentNode, marker.startOffset()))];
-
- currentVisiblePosition = VisiblePosition(createLegacyEditingPosition(currentNode, 0));
- }
-
- return position;
-}
-
-// Iterates forward through the document and returns the point at which untouched dictation results end.
-- (WebVisiblePosition *)nextUnperturbedDictationResultBoundaryFromPosition:(WebVisiblePosition *)position
-{
- VisiblePosition currentVisiblePosition = [position _visiblePosition];
- if (currentVisiblePosition.isNull())
- return position;
-
- Document& document = currentVisiblePosition.deepEquivalent().anchorNode()->document();
-
- id uikitDelegate = [[self webView] _UIKitDelegate];
- if (![uikitDelegate respondsToSelector:@selector(isUnperturbedDictationResultMarker:)])
- return position;
-
- while (currentVisiblePosition.isNotNull()) {
- WebVisiblePosition *currentWebVisiblePosition = [WebVisiblePosition _wrapVisiblePosition:currentVisiblePosition];
-
- auto* currentNode = currentVisiblePosition.deepEquivalent().anchorNode();
- unsigned lastOffset = lastOffsetForEditing(*currentNode);
-
- VisiblePosition nextVisiblePosition = currentVisiblePosition.next();
- if (nextVisiblePosition.isNull())
- return currentWebVisiblePosition;
-
- auto graphemeRange = Range::create(document, currentVisiblePosition.deepEquivalent(), nextVisiblePosition.deepEquivalent());
-
- auto markers = document.markers().markersInRange(graphemeRange, DocumentMarker::DictationResult);
- if (markers.isEmpty())
- return currentWebVisiblePosition;
-
- // FIXME: Result markers should not overlap, so there should only ever be one for a single grapheme.
- // <rdar://problem/9810617> Too much document context is omitted when sending dictation hints because of problems with WebCore DocumentMarkers
- //ASSERT(markers.size() == 1);
- if (markers.size() > 1)
- return currentWebVisiblePosition;
-
- auto& marker = *markers[0];
-
- // FIXME: WebCore doesn't always update markers correctly during editing. Bail if resultMarker extends off the edge of this node, because that means it's invalid.
- if (marker.endOffset() > lastOffset)
- return currentWebVisiblePosition;
-
- if (![uikitDelegate isUnperturbedDictationResultMarker:WTF::get<RetainPtr<id>>(marker.data()).get()])
- return currentWebVisiblePosition;
-
- if (marker.endOffset() <= static_cast<unsigned>(lastOffset))
- return [WebVisiblePosition _wrapVisiblePosition:VisiblePosition(createLegacyEditingPosition(currentNode, marker.endOffset()))];
-
- currentVisiblePosition = VisiblePosition(createLegacyEditingPosition(currentNode, lastOffset));
- }
-
- return position;
-}
-
- (CGRect)elementRectAtPoint:(CGPoint)point
{
Frame *frame = [self coreFrame];
Modified: trunk/Source/WebKitLegacy/ios/WebView/WebUIKitDelegate.h (261713 => 261714)
--- trunk/Source/WebKitLegacy/ios/WebView/WebUIKitDelegate.h 2020-05-14 22:28:10 UTC (rev 261713)
+++ trunk/Source/WebKitLegacy/ios/WebView/WebUIKitDelegate.h 2020-05-14 22:29:28 UTC (rev 261714)
@@ -132,7 +132,6 @@
- (int)deviceOrientation;
#endif
-- (BOOL)isUnperturbedDictationResultMarker:(id)metadataForMarker;
- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message withSource:(NSString *)source;
@end