[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