[webkit-changes] cvs commit: WebKit/WebView.subproj WebFrame.m WebFrameInternal.h WebView.m

Maciej mjs at opensource.apple.com
Fri Dec 23 00:19:33 PST 2005


mjs         05/12/23 00:19:33

  Modified:    .        ChangeLog
               WebView.subproj WebFrame.m WebFrameInternal.h WebView.m
  Log:
          Reviewed by Eric.
  
  	- move a few more methods from WebView to WebFrame.
  
          * WebView.subproj/WebFrame.m:
          (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from
  	WebView.
          (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from
  	WebView.
          * WebView.subproj/WebFrameInternal.h:
          * WebView.subproj/WebView.m:
          (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames.
          (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto.
          (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto.
          (-[WebView _selectedFrameDidChange]):
  
  Revision  Changes    Path
  1.3425    +18 -0     WebKit/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebKit/ChangeLog,v
  retrieving revision 1.3424
  retrieving revision 1.3425
  diff -u -r1.3424 -r1.3425
  --- ChangeLog	22 Dec 2005 01:40:54 -0000	1.3424
  +++ ChangeLog	23 Dec 2005 08:19:29 -0000	1.3425
  @@ -1,3 +1,21 @@
  +2005-12-22  Maciej Stachowiak  <mjs at apple.com>
  +
  +        Reviewed by Eric.
  +
  +	- move a few more methods from WebView to WebFrame.	
  +
  +        * WebView.subproj/WebFrame.m:
  +        (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from
  +	WebView.
  +        (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from 
  +	WebView.
  +        * WebView.subproj/WebFrameInternal.h:
  +        * WebView.subproj/WebView.m:
  +        (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames.
  +        (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto.
  +        (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto.
  +        (-[WebView _selectedFrameDidChange]):
  +
   2005-12-21  Timothy Hatcher  <timothy at apple.com>
   
           * WebKit.xcodeproj/project.pbxproj:
  
  
  
  1.261     +25 -0     WebKit/WebView.subproj/WebFrame.m
  
  Index: WebFrame.m
  ===================================================================
  RCS file: /cvs/root/WebKit/WebView.subproj/WebFrame.m,v
  retrieving revision 1.260
  retrieving revision 1.261
  diff -u -r1.260 -r1.261
  --- WebFrame.m	20 Dec 2005 20:41:54 -0000	1.260
  +++ WebFrame.m	23 Dec 2005 08:19:32 -0000	1.261
  @@ -2809,6 +2809,31 @@
       return _private->frameNamespace;
   }
   
  +- (BOOL)_hasSelection
  +{
  +    id documentView = [[self frameView] documentView];    
  +    
  +    // optimization for common case to avoid creating potentially large selection string
  +    if ([documentView isKindOfClass:[WebHTMLView class]]) {
  +        DOMRange *selectedDOMRange = [[self _bridge] selectedDOMRange];
  +        return selectedDOMRange && ![selectedDOMRange collapsed];
  +    }
  +    
  +    if ([documentView conformsToProtocol:@protocol(WebDocumentText)]) {
  +        return [[documentView selectedString] length] > 0;
  +    }
  +    
  +    return NO;
  +}
  +
  +- (void)_clearSelection
  +{
  +    id documentView = [[self frameView] documentView];    
  +    if ([documentView conformsToProtocol:@protocol(WebDocumentText)]) {
  +        [documentView deselectAll];
  +    }
  +}
  +
   @end
   
   @implementation WebFormState : NSObject
  
  
  
  1.16      +3 -0      WebKit/WebView.subproj/WebFrameInternal.h
  
  Index: WebFrameInternal.h
  ===================================================================
  RCS file: /cvs/root/WebKit/WebView.subproj/WebFrameInternal.h,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- WebFrameInternal.h	20 Dec 2005 08:32:55 -0000	1.15
  +++ WebFrameInternal.h	23 Dec 2005 08:19:32 -0000	1.16
  @@ -53,6 +53,9 @@
   - (void)_setFrameNamespace:(NSString *)namespace;
   - (NSString *)_frameNamespace;
   
  +- (BOOL)_hasSelection;
  +- (void)_clearSelection;
  +
   @end
   
   @interface NSObject (WebInternalFrameLoadDelegate)
  
  
  
  1.321     +5 -34     WebKit/WebView.subproj/WebView.m
  
  Index: WebView.m
  ===================================================================
  RCS file: /cvs/root/WebKit/WebView.subproj/WebView.m,v
  retrieving revision 1.320
  retrieving revision 1.321
  diff -u -r1.320 -r1.321
  --- WebView.m	20 Dec 2005 20:41:54 -0000	1.320
  +++ WebView.m	23 Dec 2005 08:19:32 -0000	1.321
  @@ -298,9 +298,7 @@
   - (BOOL)_isLoading;
   - (WebFrameView *)_frameViewAtWindowPoint:(NSPoint)point;
   - (WebBridge *)_bridgeAtPoint:(NSPoint)point;
  -- (void)_deselectFrame:(WebFrame *)frame;
   - (WebFrame *)_focusedFrame;
  -- (BOOL)_frameIsSelected:(WebFrame *)frame;
   - (void)_preflightSpellChecker;
   - (BOOL)_continuousCheckingAllowed;
   - (NSResponder *)_responderForResponderOperations;
  @@ -2247,9 +2245,8 @@
               
               if ([searchView searchFor:string direction:forward caseSensitive:caseFlag wrap:NO]) {
                   WebFrame *newSelectedFrame = [(WebFrameView *)[searchView _web_superviewOfClass:[WebFrameView class]] webFrame];
  -                if (newSelectedFrame != startFrame) {
  -                    [self _deselectFrame:startFrame];
  -                }
  +                if (newSelectedFrame != startFrame)
  +                    [startFrame _clearSelection];
                   [[self window] makeFirstResponder:searchView];
                   return YES;
               }
  @@ -3022,34 +3019,9 @@
       return nil;
   }
   
  -- (BOOL)_frameIsSelected:(WebFrame *)frame
  -{
  -    id documentView = [[frame frameView] documentView];    
  -    
  -    // optimization for common case to avoid creating potentially large selection string
  -    if ([documentView isKindOfClass:[WebHTMLView class]]) {
  -        DOMRange *selectedDOMRange = [[frame _bridge] selectedDOMRange];
  -        return selectedDOMRange && ![selectedDOMRange collapsed];
  -    }
  -    
  -    if ([documentView conformsToProtocol:@protocol(WebDocumentText)]) {
  -        return [[documentView selectedString] length] > 0;
  -    }
  -    
  -    return NO;
  -}
  -
  -- (void)_deselectFrame:(WebFrame *)frame
  -{
  -    id documentView = [[frame frameView] documentView];    
  -    if ([documentView conformsToProtocol:@protocol(WebDocumentText)]) {
  -        [documentView deselectAll];
  -    }
  -}
  -
   - (WebFrame *)_findSelectedFrameStartingFromFrame:(WebFrame *)frame skippingFrame:(WebFrame *)frameToSkip
   {
  -    if (frame != frameToSkip && [self _frameIsSelected:frame]) {
  +    if (frame != frameToSkip && [frame _hasSelection]) {
           return frame;
       }
       
  @@ -3079,9 +3051,8 @@
   #ifndef DEBUG
   - (void)_debugCollectSelectedFramesIntoArray:(NSMutableArray *)selectedFrames startingFromFrame:(WebFrame *)frame
   {
  -    if ([self _frameIsSelected:frame]) {
  +    if ([frame _hasSelection])
           [selectedFrames addObject:frame];
  -    }
       
       NSArray *frames = [frame _internalChildFrames];
       int i;
  @@ -3269,7 +3240,7 @@
       // We rely on WebDocumentSelection protocol implementors to call this method when they become first 
       // responder. It would be nicer to just notice first responder changes here instead, but there's no 
       // notification sent when the first responder changes in general (Radar 2573089).
  -    [self _deselectFrame:[self _findSelectedFrameSkippingFrame:[self _focusedFrame]]];
  +    [[self _findSelectedFrameSkippingFrame:[self _focusedFrame]] _clearSelection];
   
   #ifndef NDEBUG
       // While we're in the general area of selection and frames, check that there is only one now.
  
  
  



More information about the webkit-changes mailing list