[webkit-changes] cvs commit: WebCore/kwq KWQKHTMLPart.h
KWQKHTMLPart.mm WebCoreBridge.h WebCoreBridge.mm
John
sullivan at opensource.apple.com
Wed Jul 13 17:26:06 PDT 2005
sullivan 05/07/13 17:26:06
Modified: . ChangeLog
kwq KWQKHTMLPart.h KWQKHTMLPart.mm WebCoreBridge.h
WebCoreBridge.mm
Log:
Reviewed by Maciej Stachowiak.
- cleaned up Find-related experimental code that I checked in a while back
* kwq/KWQKHTMLPart.h:
remove findInSelection flag from findString()
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::findString):
remove findInSelection flag. Always search the selection first, but if the found range is
the same as the selection range, then search again from beyond the selection.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge searchFor:direction:caseSensitive:wrap:]):
remove findInSelection flag
Revision Changes Path
1.4417 +18 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.4416
retrieving revision 1.4417
diff -u -r1.4416 -r1.4417
--- ChangeLog 14 Jul 2005 00:10:49 -0000 1.4416
+++ ChangeLog 14 Jul 2005 00:25:55 -0000 1.4417
@@ -1,3 +1,21 @@
+2005-07-13 John Sullivan <sullivan at apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ - cleaned up Find-related experimental code that I checked in a while back
+
+ * kwq/KWQKHTMLPart.h:
+ remove findInSelection flag from findString()
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::findString):
+ remove findInSelection flag. Always search the selection first, but if the found range is
+ the same as the selection range, then search again from beyond the selection.
+
+ * kwq/WebCoreBridge.h:
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:]):
+ remove findInSelection flag
+
2005-07-13 Adele Peterson <adele at apple.com>
Reviewed by John.
1.223 +1 -1 WebCore/kwq/KWQKHTMLPart.h
Index: KWQKHTMLPart.h
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQKHTMLPart.h,v
retrieving revision 1.222
retrieving revision 1.223
diff -u -r1.222 -r1.223
--- KWQKHTMLPart.h 8 Jul 2005 18:39:37 -0000 1.222
+++ KWQKHTMLPart.h 14 Jul 2005 00:26:04 -0000 1.223
@@ -294,7 +294,7 @@
NSString *searchForLabelsBeforeElement(NSArray *labels, DOM::ElementImpl *element);
NSString *matchLabelsAgainstElement(NSArray *labels, DOM::ElementImpl *element);
- bool findString(NSString *str, bool forward, bool caseFlag, bool wrapFlag, bool findInSelection);
+ bool findString(NSString *str, bool forward, bool caseFlag, bool wrapFlag);
void setSettings(KHTMLSettings *);
1.647 +21 -10 WebCore/kwq/KWQKHTMLPart.mm
Index: KWQKHTMLPart.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/KWQKHTMLPart.mm,v
retrieving revision 1.646
retrieving revision 1.647
diff -u -r1.646 -r1.647
--- KWQKHTMLPart.mm 9 Jul 2005 20:19:25 -0000 1.646
+++ KWQKHTMLPart.mm 14 Jul 2005 00:26:04 -0000 1.647
@@ -598,29 +598,40 @@
return nil;
}
-// Searches from the beginning of the document if nothing is selected. Will search in selection if
-// findInSelection is true, otherwise starts just after (forward) or before (backward) the selection.
-bool KWQKHTMLPart::findString(NSString *string, bool forward, bool caseFlag, bool wrapFlag, bool findInSelection)
+// Searches from the beginning of the document if nothing is selected.
+bool KWQKHTMLPart::findString(NSString *string, bool forward, bool caseFlag, bool wrapFlag)
{
QString target = QString::fromNSString(string);
if (target.isEmpty()) {
return false;
}
-
- // Start on the correct edge of the selection, search to edge of document.
+
+ // Initially search from the start (if forward) or end (if backward) of the selection, and search to edge of document.
SharedPtr<RangeImpl> searchRange(rangeOfContents(xmlDocImpl()));
if (selectionStart()) {
if (forward) {
- setStart(searchRange.get(), VisiblePosition(findInSelection ? selection().start() : selection().end(), selection().endAffinity()));
+ setStart(searchRange.get(), VisiblePosition(selection().start(), selection().endAffinity()));
} else {
- setEnd(searchRange.get(), VisiblePosition(findInSelection ? selection().end() : selection().start(), selection().startAffinity()));
+ setEnd(searchRange.get(), VisiblePosition(selection().end(), selection().startAffinity()));
}
}
-
- // Do the search once, then do it a second time to handle wrapped search.
- // Searches some or all of document twice in the failure case, but that's probably OK.
SharedPtr<RangeImpl> resultRange(findPlainText(searchRange.get(), target, forward, caseFlag));
+
+ // If we re-found the (non-empty) selected range, then search again starting just past the selected range.
+ if (selectionStart() && *resultRange == *selection().toRange()) {
+ searchRange = rangeOfContents(xmlDocImpl());
+ if (forward) {
+ setStart(searchRange.get(), VisiblePosition(selection().end(), selection().endAffinity()));
+ } else {
+ setEnd(searchRange.get(), VisiblePosition(selection().start(), selection().startAffinity()));
+ }
+ resultRange = findPlainText(searchRange.get(), target, forward, caseFlag);
+ }
+
int exception = 0;
+
+ // if we didn't find anything and we're wrapping, search again in the entire document (this will
+ // redundantly re-search the area already searched in some cases).
if (resultRange->collapsed(exception) && wrapFlag) {
searchRange = rangeOfContents(xmlDocImpl());
resultRange = findPlainText(searchRange.get(), target, forward, caseFlag);
1.336 +1 -1 WebCore/kwq/WebCoreBridge.h
Index: WebCoreBridge.h
===================================================================
RCS file: /cvs/root/WebCore/kwq/WebCoreBridge.h,v
retrieving revision 1.335
retrieving revision 1.336
diff -u -r1.335 -r1.336
--- WebCoreBridge.h 12 Jul 2005 16:28:56 -0000 1.335
+++ WebCoreBridge.h 14 Jul 2005 00:26:04 -0000 1.336
@@ -290,7 +290,7 @@
- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element;
- (NSString *)matchLabels:(NSArray *)labels againstElement:(DOMElement *)element;
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag findInSelection:(BOOL)inSelectionFlag;
+- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag;
- (void)jumpToSelection;
- (NSString *)advanceToNextMisspelling;
1.399 +2 -2 WebCore/kwq/WebCoreBridge.mm
Index: WebCoreBridge.mm
===================================================================
RCS file: /cvs/root/WebCore/kwq/WebCoreBridge.mm,v
retrieving revision 1.398
retrieving revision 1.399
diff -u -r1.398 -r1.399
--- WebCoreBridge.mm 9 Jul 2005 20:19:25 -0000 1.398
+++ WebCoreBridge.mm 14 Jul 2005 00:26:04 -0000 1.399
@@ -1132,9 +1132,9 @@
return KURL(doc->baseURL(), rel, doc->decoder() ? doc->decoder()->codec() : 0).getNSURL();
}
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag findInSelection:(BOOL)inSelectionFlag
+- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag
{
- return _part->findString(string, forward, caseFlag, wrapFlag, inSelectionFlag);
+ return _part->findString(string, forward, caseFlag, wrapFlag);
}
- (void)jumpToSelection
More information about the webkit-changes
mailing list