[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:27:08 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit c03a2f0325a1a9349b4f9f8960c243003266da42
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jul 24 22:41:39 2002 +0000

            Implemented find for text views.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1661 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index ca54b9d..1adf10d 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,11 @@
+2002-07-24  Richard Williamson (Local)  <rjw at apple.com>
+
+        Implemented find for text views.
+        
+        * WebView.subproj/WebTextView.m:
+        (-[NSString findString:selectedRange:options:wrap:]):
+        (-[WebTextView searchFor:direction:caseSensitive:]):
+
 2002-07-24  Chris Blumenberg  <cblu at apple.com>
 
 	Implemented initial contextual menus. None activated yet.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index ca54b9d..1adf10d 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,11 @@
+2002-07-24  Richard Williamson (Local)  <rjw at apple.com>
+
+        Implemented find for text views.
+        
+        * WebView.subproj/WebTextView.m:
+        (-[NSString findString:selectedRange:options:wrap:]):
+        (-[WebTextView searchFor:direction:caseSensitive:]):
+
 2002-07-24  Chris Blumenberg  <cblu at apple.com>
 
 	Implemented initial contextual menus. None activated yet.
diff --git a/WebKit/WebView.subproj/WebTextView.m b/WebKit/WebView.subproj/WebTextView.m
index ae5a73f..fcf26b1 100644
--- a/WebKit/WebView.subproj/WebTextView.m
+++ b/WebKit/WebView.subproj/WebTextView.m
@@ -7,6 +7,43 @@
 
 #import <WebKit/WebDataSource.h>
 
+ at interface NSString (NSStringTextFinding)
+
+- (NSRange)findString:(NSString *)string selectedRange:(NSRange)selectedRange options:(unsigned)mask wrap:(BOOL)wrapFlag;
+
+ at end
+
+ at implementation NSString (_Web_StringTextFinding)
+
+- (NSRange)findString:(NSString *)string selectedRange:(NSRange)selectedRange options:(unsigned)options wrap:(BOOL)wrap {
+    BOOL forwards = (options & NSBackwardsSearch) == 0;
+    unsigned length = [self length];
+    NSRange searchRange, range;
+
+    if (forwards) {
+	searchRange.location = NSMaxRange(selectedRange);
+	searchRange.length = length - searchRange.location;
+	range = [self rangeOfString:string options:options range:searchRange];
+        if ((range.length == 0) && wrap) {	/* If not found look at the first part of the string */
+	    searchRange.location = 0;
+            searchRange.length = selectedRange.location;
+            range = [self rangeOfString:string options:options range:searchRange];
+        }
+    } else {
+	searchRange.location = 0;
+	searchRange.length = selectedRange.location;
+        range = [self rangeOfString:string options:options range:searchRange];
+        if ((range.length == 0) && wrap) {
+            searchRange.location = NSMaxRange(selectedRange);
+            searchRange.length = length - searchRange.location;
+            range = [self rangeOfString:string options:options range:searchRange];
+        }
+    }
+    return range;
+}        
+
+ at end
+
 @implementation WebTextView
 
 - (id)initWithFrame:(NSRect)frame
@@ -80,7 +117,29 @@
 
 - (BOOL)searchFor: (NSString *)string direction: (BOOL)forward caseSensitive: (BOOL)caseFlag
 {
-    return NO;
+    BOOL lastFindWasSuccessful = NO;
+    NSString *textContents = [self string];
+    unsigned textLength;
+    
+    if (textContents && (textLength = [textContents length])) {
+        NSRange range;
+        unsigned options = 0;
+        
+        if (!forward) 
+            options |= NSBackwardsSearch;
+            
+        if (!caseFlag)
+            options |= NSCaseInsensitiveSearch;
+            
+        range = [textContents findString:string selectedRange:[self selectedRange] options:options wrap:YES];
+        if (range.length) {
+            [self setSelectedRange:range];
+            [self scrollRangeToVisible:range];
+            lastFindWasSuccessful = YES;
+        }
+    }
+
+    return lastFindWasSuccessful;
 }
 
 @end

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list