Title: [175837] trunk/Source/WebKit/mac
Revision
175837
Author
bda...@apple.com
Date
2014-11-10 16:04:56 -0800 (Mon, 10 Nov 2014)

Log Message

WK1: Support default actions for editable whitespace
https://bugs.webkit.org/show_bug.cgi?id=138586
-and corresponding-
rdar://problem/18932048

Reviewed by Tim Horton.

New menu type. Just wants paste.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
* WebView/WebUIDelegatePrivate.h:

Modified Paths

Diff

Modified: trunk/Source/WebKit/mac/ChangeLog (175836 => 175837)


--- trunk/Source/WebKit/mac/ChangeLog	2014-11-11 00:02:57 UTC (rev 175836)
+++ trunk/Source/WebKit/mac/ChangeLog	2014-11-11 00:04:56 UTC (rev 175837)
@@ -1,5 +1,22 @@
 2014-11-10  Beth Dakin  <bda...@apple.com>
 
+        WK1: Support default actions for editable whitespace
+        https://bugs.webkit.org/show_bug.cgi?id=138586
+        -and corresponding-
+        rdar://problem/18932048
+
+        Reviewed by Tim Horton.
+
+        New menu type. Just wants paste.
+
+        * WebView/WebActionMenuController.mm:
+        (-[WebActionMenuController isMenuForTextContent]):
+        (-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]):
+        (-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):
+        * WebView/WebUIDelegatePrivate.h:
+
+2014-11-10  Beth Dakin  <bda...@apple.com>
+
         WK1: Support default actions for editable text
         https://bugs.webkit.org/show_bug.cgi?id=138580
         -and corresponding-

Modified: trunk/Source/WebKit/mac/WebView/WebActionMenuController.mm (175836 => 175837)


--- trunk/Source/WebKit/mac/WebView/WebActionMenuController.mm	2014-11-11 00:02:57 UTC (rev 175836)
+++ trunk/Source/WebKit/mac/WebView/WebActionMenuController.mm	2014-11-11 00:04:56 UTC (rev 175837)
@@ -128,7 +128,7 @@
 
 - (BOOL)isMenuForTextContent
 {
-    return _type == WebActionMenuReadOnlyText || _type == WebActionMenuEditableText;
+    return _type == WebActionMenuReadOnlyText || _type == WebActionMenuEditableText || _type == WebActionMenuWhitespaceInEditableArea;
 }
 
 - (void)willOpenMenu:(NSMenu *)menu withEvent:(NSEvent *)event
@@ -366,6 +366,15 @@
     return popupInfo;
 }
 
+#pragma mark Whitespace actions
+
+- (NSArray *)_defaultMenuItemsForWhitespaceInEditableArea:(WebElementDictionary *)hitTestResult
+{
+    RetainPtr<NSMenuItem> pasteItem = [self _createActionMenuItemForTag:WebActionMenuItemTagPaste withHitTestResult:hitTestResult];
+
+    return @[ [NSMenuItem separatorItem], [NSMenuItem separatorItem], pasteItem.get() ];
+}
+
 #pragma mark Menu Items
 
 - (RetainPtr<NSMenuItem>)_createActionMenuItemForTag:(uint32_t)tag withHitTestResult:(WebElementDictionary *)hitTestResult
@@ -453,6 +462,11 @@
         return [self _defaultMenuItemsForText:hitTestResult];
     }
 
+    if (_hitTestResult.isContentEditable()) {
+        _type = WebActionMenuWhitespaceInEditableArea;
+        return [self _defaultMenuItemsForWhitespaceInEditableArea:hitTestResult];
+    }
+
     _type = WebActionMenuNone;
     return @[ ];
 }

Modified: trunk/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h (175836 => 175837)


--- trunk/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h	2014-11-11 00:02:57 UTC (rev 175836)
+++ trunk/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h	2014-11-11 00:04:56 UTC (rev 175837)
@@ -126,7 +126,8 @@
     WebActionMenuNone = 0,
     WebActionMenuLink,
     WebActionMenuReadOnlyText,
-    WebActionMenuEditableText
+    WebActionMenuEditableText,
+    WebActionMenuWhitespaceInEditableArea
 } WebActionMenuType;
 
 // Message Sources.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to