[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