Title: [200662] trunk/Source/WebKit2
Revision
200662
Author
wei...@apple.com
Date
2016-05-10 18:11:13 -0700 (Tue, 10 May 2016)

Log Message

Add SPI for Data Detectors to get ranges of text around an existing range.
<rdar://problem/26009749>

Reviewed by Enrica Casucci.

* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (200661 => 200662)


--- trunk/Source/WebKit2/ChangeLog	2016-05-11 00:56:45 UTC (rev 200661)
+++ trunk/Source/WebKit2/ChangeLog	2016-05-11 01:11:13 UTC (rev 200662)
@@ -1,3 +1,14 @@
+2016-05-10  Sam Weinig  <s...@webkit.org>
+
+        Add SPI for Data Detectors to get ranges of text around an existing range.
+        <rdar://problem/26009749>
+
+        Reviewed by Enrica Casucci.
+
+        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
+        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
+        (-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):
+
 2016-05-10  Enrica Casucci  <enr...@apple.com>
 
         Numerous block selection issues on iOS.

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.h (200661 => 200662)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.h	2016-05-11 00:56:45 UTC (rev 200661)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.h	2016-05-11 01:11:13 UTC (rev 200662)
@@ -31,6 +31,12 @@
 
 @class WKDOMNode, WKDOMDocument;
 
+typedef NS_ENUM(NSInteger, WKDOMRangeDirection) {
+    WKDOMRangeDirectionForward,
+    WKDOMRangeDirectionBackword
+};
+
+
 WK_CLASS_AVAILABLE(10_10, 8_0)
 @interface WKDOMRange : NSObject
 
@@ -42,6 +48,8 @@
 - (void)selectNode:(WKDOMNode *)node;
 - (void)selectNodeContents:(WKDOMNode *)node;
 
+- (WKDOMRange *)rangeByExpandingToWordBoundaryByCharacters:(NSUInteger)characters inDirection:(WKDOMRangeDirection)direction;
+
 @property(readonly, retain) WKDOMNode *startContainer;
 @property(readonly) NSInteger startOffset;
 @property(readonly, retain) WKDOMNode *endContainer;

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm (200661 => 200662)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm	2016-05-11 00:56:45 UTC (rev 200661)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/mac/WKDOMRange.mm	2016-05-11 01:11:13 UTC (rev 200662)
@@ -32,6 +32,7 @@
 #import "WKBundleAPICast.h"
 #import "WKDOMInternals.h"
 #import <WebCore/Document.h>
+#import <WebCore/VisibleUnits.h>
 
 @implementation WKDOMRange
 
@@ -142,6 +143,13 @@
     return WebKit::toNSArray(rects);
 }
 
+- (WKDOMRange *)rangeByExpandingToWordBoundaryByCharacters:(NSUInteger)characters inDirection:(WKDOMRangeDirection)direction
+{
+    RefPtr<WebCore::Range> newRange = rangeExpandedByCharactersInDirectionAtWordBoundary(direction == WKDOMRangeDirectionForward ?  _impl->endPosition() : _impl->startPosition(), characters, direction == WKDOMRangeDirectionForward ? WebCore::DirectionForward : WebCore::DirectionBackward);
+
+    return [[WKDOMRange alloc] _initWithImpl:newRange.get()];
+}
+
 @end
 
 @implementation WKDOMRange (WKPrivate)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to