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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:32:38 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit c1fb1a5e3837062bb201743838ddc825daf7bd40
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 31 21:42:29 2003 +0000

    WebKit:
    
            Reviewed by Chris.
    
            - improved default behaviors in window operations delegate
    
            * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
            (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method.
            (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window.
            (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront.
            (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed.
            (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder.
            (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder.
            (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator.
            (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator.
            (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO.
            (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage.
            (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO.
            (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage.
            (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here.
            (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
            (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here.
            (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.
    
    WebBrowser:
    
            Reviewed by Chris.
    
            - fixed 3213389 -- last tab can be left showing a close button (then you get assertion/badness if you close it)
    
            * BrowserWindowController.m:
            (-[BrowserWindowController closeTab:]): Be sure to turn off the close buttons even if the tab bar is invisible
            at the moment you close a tab (noticed by inspection, not the bug).
            (-[BrowserWindowController closeOtherTabs:]): Turn off the close buttons (this was the bug).
    
            - fixed 3213569 -- non-frontmost tabs can grab focus, causing crash later on
    
            * BrowserWebController.h: Remove "window" method.
            * BrowserWebController.m:
    	(-[BrowserWebController initWithDocument:request:frameName:]): Use the window controller's window so this works
            even for the non-frontmost tab.
            (-[BrowserWebController webViewShowWindowBehindFrontmost:]): Removed. Was eliminated from WebKit API, so unused.
            (-[BrowserWebController webViewUnfocusWindow:]): Removed. The WebKit default implementation now handles this fine.
            (-[BrowserWebController webViewIsResizable:]): Removed. The WebKit default implementation now handles this fine.
            (-[BrowserWebController webView:setResizable:]): Removed. The WebKit default implementation now handles this fine.
            (-[BrowserWebController window]): Removed. We don't want to override -[NSView window]. This fixed the bug.
            Had to visit all the various places window was called to make sure it was OK not to return the host window in the
            case of an inactive tab.
            (-[BrowserWebController webView:setFrame:]): Don't do anything for the case of the non-frontmost tab.
            (-[BrowserWebController webViewFrame:]): Use the window controller's window so this works even for the
            non-frontmost tab.
            (-[BrowserWebController webView:setContentRect:]): Don't do anything for the case of the non-frontmost tab.
            (-[BrowserWebController webViewContentRect:]): Use the window controller's window so this works even for the
            non-frontmost tab.
            (-[BrowserWebController webView:runJavaScriptAlertPanelWithMessage:]): Select the tab before putting up the panel.
            (-[BrowserWebController webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
            (-[BrowserWebController webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index e364e20..4521bd9 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,27 @@
+2003-03-31  Darin Adler  <darin at apple.com>
+
+        Reviewed by Chris.
+
+        - improved default behaviors in window operations delegate
+
+        * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
+        (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method.
+        (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window.
+        (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront.
+        (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed.
+        (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder.
+        (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder.
+        (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator.
+        (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator.
+        (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO.
+        (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage.
+        (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO.
+        (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage.
+        (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here.
+        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
+        (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here.
+        (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.
+
 2003-03-29  Chris Blumenberg  <cblu at apple.com>
 
 	Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs
diff --git a/WebKit/WebView.subproj/WebDefaultUIDelegate.m b/WebKit/WebView.subproj/WebDefaultUIDelegate.m
index 832777d..8d32108 100644
--- a/WebKit/WebView.subproj/WebDefaultUIDelegate.m
+++ b/WebKit/WebView.subproj/WebDefaultUIDelegate.m
@@ -7,9 +7,13 @@
 #import <WebFoundation/NSURLRequest.h>
 
 #import <WebKit/WebDefaultWindowOperationsDelegate.h>
+#import <WebKit/WebJavaScriptTextInputPanel.h>
 #import <WebKit/WebView.h>
 #import <WebKit/WebWindowOperationsDelegate.h>
 
+ at interface NSApplication (DeclarationStolenFromAppKit)
+- (void)_cycleWindowsReversed:(BOOL)reversed;
+ at end
 
 @implementation WebDefaultWindowOperationsDelegate
 
@@ -29,116 +33,136 @@ static WebDefaultWindowOperationsDelegate *sharedDelegate = nil;
 }
 
 
-- (WebView *)webView: (WebView *)wv createWindowWithRequest:(NSURLRequest *)request;
+- (WebView *)webView: (WebView *)wv createWindowWithRequest:(NSURLRequest *)request
 {
     return nil;
 }
 
-- (void)webViewShowWindow: (WebView *)wv;
+- (void)webViewShowWindow: (WebView *)wv
 {
 }
 
-- (void)webViewShowWindowBehindFrontmost: (WebView *)wv;
+- (void)webViewCloseWindow: (WebView *)wv
 {
+    [[wv window] close];
 }
 
-- (void)webViewCloseWindow: (WebView *)wv;
+- (void)webViewFocusWindow: (WebView *)wv
 {
+    [[wv window] makeKeyAndOrderFront:wv];
 }
 
-- (void)webViewFocusWindow: (WebView *)wv;
-{
-}
-
-- (void)webViewUnfocusWindow: (WebView *)wv;
+- (void)webViewUnfocusWindow: (WebView *)wv
 {
+    if ([[wv window] isKeyWindow] || [[[wv window] attachedSheet] isKeyWindow]) {
+	[NSApp _cycleWindowsReversed:FALSE];
+    }
 }
 
 - (NSResponder *)webViewFirstResponderInWindow: (WebView *)wv;
 {
-    return nil;
+    return [[wv window] firstResponder];
 }
 
-- (void)webView: (WebView *)wv makeFirstResponderInWindow:(NSResponder *)responder;
+- (void)webView: (WebView *)wv makeFirstResponderInWindow:(NSResponder *)responder
 {
+    [[wv window] makeFirstResponder:responder];
 }
 
-- (void)webView: (WebView *)wv setStatusText:(NSString *)text;
+- (void)webView: (WebView *)wv setStatusText:(NSString *)text
 {
 }
 
-- (NSString *)webViewStatusText: (WebView *)wv;
+- (NSString *)webViewStatusText: (WebView *)wv
 {
     return nil;
 }
 
-- (void)webView: (WebView *)wv mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(unsigned int)modifierFlags;
+- (void)webView: (WebView *)wv mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(unsigned int)modifierFlags
 {
 }
 
-- (BOOL)webViewAreToolbarsVisible: (WebView *)wv;
+- (BOOL)webViewAreToolbarsVisible: (WebView *)wv
 {
     return NO;
 }
 
-- (void)webView: (WebView *)wv setToolbarsVisible:(BOOL)visible;
+- (void)webView: (WebView *)wv setToolbarsVisible:(BOOL)visible
 {
 }
 
-- (BOOL)webViewIsStatusBarVisible: (WebView *)wv;
+- (BOOL)webViewIsStatusBarVisible: (WebView *)wv
 {
     return NO;
 }
 
-- (void)webView: (WebView *)wv setStatusBarVisible:(BOOL)visible;
+- (void)webView: (WebView *)wv setStatusBarVisible:(BOOL)visible
 {
 }
 
-- (BOOL)webViewIsResizable: (WebView *)wv;
+- (BOOL)webViewIsResizable: (WebView *)wv
 {
-    return NO;
+    return [[wv window] showsResizeIndicator];
 }
 
 - (void)webView: (WebView *)wv setResizable:(BOOL)resizable;
 {
+    // FIXME: This doesn't actually change the resizability of the window,
+    // only visibility of the indicator.
+    [[wv window] setShowsResizeIndicator:resizable];
 }
 
-- (void)webView: (WebView *)wv setFrame:(NSRect)frame;
+- (void)webView: (WebView *)wv setFrame:(NSRect)frame
 {
-    [[wv window] setFrame:frame display:NO];
+    [[wv window] setFrame:frame display:YES];
 }
 
-- (NSRect)webViewFrame: (WebView *)wv;
+- (NSRect)webViewFrame: (WebView *)wv
 {
-    return [[wv window] frame];
+    NSWindow *window = [wv window];
+    return window == nil ? NSZeroRect : [window frame];
 }
 
 - (void)webView:(WebView *)webView setContentRect:(NSRect)contentRect
 {
-    [[webView window] setFrame:[NSWindow frameRectForContentRect:contentRect styleMask:[[webView window] styleMask]] display:NO];
+    [[webView window] setFrame:[NSWindow frameRectForContentRect:contentRect styleMask:[[webView window] styleMask]] display:YES];
 }
 
 - (NSRect)webViewContentRect:(WebView *)webView
 {
-    return [NSWindow contentRectForFrameRect:[[webView window] frame] styleMask:[[webView window] styleMask]];
+    NSWindow *window = [webView window];
+    return window == nil ? NSZeroRect : [NSWindow contentRectForFrameRect:[window frame] styleMask:[window styleMask]];
 }
 
-- (void)webView: (WebView *)wv runJavaScriptAlertPanelWithMessage:(NSString *)message;
+- (void)webView: (WebView *)wv runJavaScriptAlertPanelWithMessage:(NSString *)message
 {
+    // FIXME: We want a default here, but that would add localized strings.
 }
 
 - (BOOL)webView: (WebView *)wv runJavaScriptConfirmPanelWithMessage:(NSString *)message
 {
+    // FIXME: We want a default here, but that would add localized strings.
     return NO;
 }
 
 - (NSString *)webView: (WebView *)wv runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText
 {
-    return nil;
+    WebJavaScriptTextInputPanel *panel = [[WebJavaScriptTextInputPanel alloc] initWithPrompt:prompt text:defaultText];
+    [panel showWindow:nil];
+    NSString *result;
+    if ([NSApp runModalForWindow:[panel window]]) {
+        result = [panel text];
+    } else {
+	result = nil;
+    }
+    [[panel window] close];
+    [panel release];
+    return result;
 }
 
 - (void)webView: (WebView *)wv runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener
 {
+    // FIXME: We want a default here, but that would add localized strings.
 }
 
 @end
diff --git a/WebKit/WebView.subproj/WebDefaultWindowOperationsDelegate.m b/WebKit/WebView.subproj/WebDefaultWindowOperationsDelegate.m
index 832777d..8d32108 100644
--- a/WebKit/WebView.subproj/WebDefaultWindowOperationsDelegate.m
+++ b/WebKit/WebView.subproj/WebDefaultWindowOperationsDelegate.m
@@ -7,9 +7,13 @@
 #import <WebFoundation/NSURLRequest.h>
 
 #import <WebKit/WebDefaultWindowOperationsDelegate.h>
+#import <WebKit/WebJavaScriptTextInputPanel.h>
 #import <WebKit/WebView.h>
 #import <WebKit/WebWindowOperationsDelegate.h>
 
+ at interface NSApplication (DeclarationStolenFromAppKit)
+- (void)_cycleWindowsReversed:(BOOL)reversed;
+ at end
 
 @implementation WebDefaultWindowOperationsDelegate
 
@@ -29,116 +33,136 @@ static WebDefaultWindowOperationsDelegate *sharedDelegate = nil;
 }
 
 
-- (WebView *)webView: (WebView *)wv createWindowWithRequest:(NSURLRequest *)request;
+- (WebView *)webView: (WebView *)wv createWindowWithRequest:(NSURLRequest *)request
 {
     return nil;
 }
 
-- (void)webViewShowWindow: (WebView *)wv;
+- (void)webViewShowWindow: (WebView *)wv
 {
 }
 
-- (void)webViewShowWindowBehindFrontmost: (WebView *)wv;
+- (void)webViewCloseWindow: (WebView *)wv
 {
+    [[wv window] close];
 }
 
-- (void)webViewCloseWindow: (WebView *)wv;
+- (void)webViewFocusWindow: (WebView *)wv
 {
+    [[wv window] makeKeyAndOrderFront:wv];
 }
 
-- (void)webViewFocusWindow: (WebView *)wv;
-{
-}
-
-- (void)webViewUnfocusWindow: (WebView *)wv;
+- (void)webViewUnfocusWindow: (WebView *)wv
 {
+    if ([[wv window] isKeyWindow] || [[[wv window] attachedSheet] isKeyWindow]) {
+	[NSApp _cycleWindowsReversed:FALSE];
+    }
 }
 
 - (NSResponder *)webViewFirstResponderInWindow: (WebView *)wv;
 {
-    return nil;
+    return [[wv window] firstResponder];
 }
 
-- (void)webView: (WebView *)wv makeFirstResponderInWindow:(NSResponder *)responder;
+- (void)webView: (WebView *)wv makeFirstResponderInWindow:(NSResponder *)responder
 {
+    [[wv window] makeFirstResponder:responder];
 }
 
-- (void)webView: (WebView *)wv setStatusText:(NSString *)text;
+- (void)webView: (WebView *)wv setStatusText:(NSString *)text
 {
 }
 
-- (NSString *)webViewStatusText: (WebView *)wv;
+- (NSString *)webViewStatusText: (WebView *)wv
 {
     return nil;
 }
 
-- (void)webView: (WebView *)wv mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(unsigned int)modifierFlags;
+- (void)webView: (WebView *)wv mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(unsigned int)modifierFlags
 {
 }
 
-- (BOOL)webViewAreToolbarsVisible: (WebView *)wv;
+- (BOOL)webViewAreToolbarsVisible: (WebView *)wv
 {
     return NO;
 }
 
-- (void)webView: (WebView *)wv setToolbarsVisible:(BOOL)visible;
+- (void)webView: (WebView *)wv setToolbarsVisible:(BOOL)visible
 {
 }
 
-- (BOOL)webViewIsStatusBarVisible: (WebView *)wv;
+- (BOOL)webViewIsStatusBarVisible: (WebView *)wv
 {
     return NO;
 }
 
-- (void)webView: (WebView *)wv setStatusBarVisible:(BOOL)visible;
+- (void)webView: (WebView *)wv setStatusBarVisible:(BOOL)visible
 {
 }
 
-- (BOOL)webViewIsResizable: (WebView *)wv;
+- (BOOL)webViewIsResizable: (WebView *)wv
 {
-    return NO;
+    return [[wv window] showsResizeIndicator];
 }
 
 - (void)webView: (WebView *)wv setResizable:(BOOL)resizable;
 {
+    // FIXME: This doesn't actually change the resizability of the window,
+    // only visibility of the indicator.
+    [[wv window] setShowsResizeIndicator:resizable];
 }
 
-- (void)webView: (WebView *)wv setFrame:(NSRect)frame;
+- (void)webView: (WebView *)wv setFrame:(NSRect)frame
 {
-    [[wv window] setFrame:frame display:NO];
+    [[wv window] setFrame:frame display:YES];
 }
 
-- (NSRect)webViewFrame: (WebView *)wv;
+- (NSRect)webViewFrame: (WebView *)wv
 {
-    return [[wv window] frame];
+    NSWindow *window = [wv window];
+    return window == nil ? NSZeroRect : [window frame];
 }
 
 - (void)webView:(WebView *)webView setContentRect:(NSRect)contentRect
 {
-    [[webView window] setFrame:[NSWindow frameRectForContentRect:contentRect styleMask:[[webView window] styleMask]] display:NO];
+    [[webView window] setFrame:[NSWindow frameRectForContentRect:contentRect styleMask:[[webView window] styleMask]] display:YES];
 }
 
 - (NSRect)webViewContentRect:(WebView *)webView
 {
-    return [NSWindow contentRectForFrameRect:[[webView window] frame] styleMask:[[webView window] styleMask]];
+    NSWindow *window = [webView window];
+    return window == nil ? NSZeroRect : [NSWindow contentRectForFrameRect:[window frame] styleMask:[window styleMask]];
 }
 
-- (void)webView: (WebView *)wv runJavaScriptAlertPanelWithMessage:(NSString *)message;
+- (void)webView: (WebView *)wv runJavaScriptAlertPanelWithMessage:(NSString *)message
 {
+    // FIXME: We want a default here, but that would add localized strings.
 }
 
 - (BOOL)webView: (WebView *)wv runJavaScriptConfirmPanelWithMessage:(NSString *)message
 {
+    // FIXME: We want a default here, but that would add localized strings.
     return NO;
 }
 
 - (NSString *)webView: (WebView *)wv runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText
 {
-    return nil;
+    WebJavaScriptTextInputPanel *panel = [[WebJavaScriptTextInputPanel alloc] initWithPrompt:prompt text:defaultText];
+    [panel showWindow:nil];
+    NSString *result;
+    if ([NSApp runModalForWindow:[panel window]]) {
+        result = [panel text];
+    } else {
+	result = nil;
+    }
+    [[panel window] close];
+    [panel release];
+    return result;
 }
 
 - (void)webView: (WebView *)wv runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener
 {
+    // FIXME: We want a default here, but that would add localized strings.
 }
 
 @end

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list