Implement data detectors and mailto action menus for WebKit1
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 15 Nov 2014 08:12:52 +0000 (08:12 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 15 Nov 2014 08:12:52 +0000 (08:12 +0000)
commitca4ed06be9131004600982f75e972d8c09ba2b3d
tree15f9ace5de1438070498216733a38838f658d6fd
parent75153a3ad52e2ccca71afc60d98773dfc722b3b1
Implement data detectors and mailto action menus for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=138765
<rdar://problem/18877535>

Reviewed by Beth Dakin.

* WebView/WebActionMenuController.h:
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController willOpenMenu:withEvent:]):
Tell DataDetectors that the menu is going to open.
Select the text (or not) based on the number of items in the menu, just like WebKit2.

(-[WebActionMenuController didCloseMenu:withEvent:]):
Tell DataDetectors that the menu closed.

(-[WebActionMenuController _defaultMenuItemsForLink]):
Move these checks out of _defaultMenuItemsForLink, because we expect this
to always return a complete link menu.

(-[WebActionMenuController _defaultMenuItemsForMailtoLink]):
Implement. More or less copied from WebKit2.

(-[WebActionMenuController _selectDataDetectedText]):
Select the stashed range.

(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
Implement. More or less copied from WebKit2.
The yellow highlight isn't hooked up yet.
Give the client a chance to override via _webView:actionContextForHitTestResult:range:.

(-[WebActionMenuController _selectLookupText]):
Remove an unnecessary return.

(-[WebActionMenuController _defaultMenuItems]):
Call into the two new menu types.

* WebView/WebUIDelegatePrivate.h:

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForMailtoLink]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@176153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebActionMenuController.h
Source/WebKit/mac/WebView/WebActionMenuController.mm
Source/WebKit/mac/WebView/WebUIDelegatePrivate.h
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/mac/WKActionMenuController.mm