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

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


The following commit has been merged in the debian/unstable branch:
commit c743d6d85ed1123960324b164a40fa9870e2c658
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Mar 27 22:49:42 2003 +0000

    WebCore:
    
            Reviewed by Darin.
    
    	- fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
    	- fixed 3098365 - Default window size changes as a result of popup windows
    	- fixed 3189291 - javascript window.close() closes window, not just originating tab
    
            * kwq/KWQKHTMLPart.h:
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::scheduleClose): Close via the bridge, not the window directly.
            (KWQKHTMLPart::bridgeForWidget): Take const QWidget * instead of QWidget *.
            (KWQKHTMLPart::nodeForWidget): Likewise.
            (KWQKHTMLPart::khtmlMousePressEvent): Deal with responder issues via bridge,
    	not window directly.
            (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Likewise.
            (KWQKHTMLPart::mouseDown): Likewise.
            * kwq/KWQKHTMLPartBrowserExtension.mm:
            (KHTMLPartBrowserExtension::createNewWindow): Set resizability via bridge,
    	not window directly.
            * kwq/KWQTextArea.mm:
            (-[KWQTextArea becomeFirstResponder]): Deal with bridge for first responder
    	issues, not window directly.
            (-[KWQTextArea drawRect:]): Likewise.
            (-[KWQTextAreaTextView insertTab:]): Likewise.
            (-[KWQTextAreaTextView insertBacktab:]): Likewise.
            (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Likewise.
            (-[KWQTextAreaTextView selectedTextAttributes]): Likewise.
            * kwq/KWQWidget.mm:
            (QWidget::setActiveWindow): Focus window via bridge.
            (QWidget::hasFocus): Handle first responder issues via bridge.
            (QWidget::setFocus): Likewise.
            (QWidget::isVisible): Get window from bridge.
            (QWidget::mapFromGlobal): Get window from bridge.
            (QWidget::disableFlushDrawing): Add comment noting why it's OK
    	to get the window from the view instead of from the bridge here.
            (QWidget::enableFlushDrawing): Likewise.
            * kwq/KWQWindowWidget.mm:
            (KWQWindowWidget::frameGeometry): Work through bridge, not window
    	directly.
            (KWQWindowWidget::mapToGlobal): Likewise.
            (KWQWindowWidget::setFrameGeometry): Likewise.
            * kwq/WebCoreBridge.h:
    
    WebKit:
    
            Reviewed by Darin.
    
    	- fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
    	- fixed 3098365 - Default window size changes as a result of popup windows
    	- fixed 3189291 - javascript window.close() closes window, not just originating tab
    
    
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge setWindowIsResizable:]): New bridge method, implemented
    	by calling window operations delegate.
            (-[WebBridge windowIsResizable]): Likewise.
            (-[WebBridge firstResponder]): Likewise.
            (-[WebBridge makeFirstResponder:]): Likewise.
            (-[WebBridge closeWindow]): Likewise.
    
    WebBrowser:
    
            Reviewed by Darin.
    
    	- fixed 3189291 - javascript window.close() closes window, not just originating tab
    
            * BrowserWebController.m:
            (-[BrowserWebController windowController]): Moved this method higher.
            (-[BrowserWebController webViewCloseWindow:]): Close the tab, not the window.
            * BrowserWindowController.h:
            * BrowserWindowController.m:
            (-[BrowserWindowController closeTabForWebController:]): New method, closes
    	tab or window if there is only one tab.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3947 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 88a70cf..273a904 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,47 @@
+2003-03-27  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	- fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
+	- fixed 3098365 - Default window size changes as a result of popup windows
+	- fixed 3189291 - javascript window.close() closes window, not just originating tab
+
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::scheduleClose): Close via the bridge, not the window directly.
+        (KWQKHTMLPart::bridgeForWidget): Take const QWidget * instead of QWidget *.
+        (KWQKHTMLPart::nodeForWidget): Likewise.
+        (KWQKHTMLPart::khtmlMousePressEvent): Deal with responder issues via bridge,
+	not window directly.
+        (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Likewise.
+        (KWQKHTMLPart::mouseDown): Likewise.
+        * kwq/KWQKHTMLPartBrowserExtension.mm:
+        (KHTMLPartBrowserExtension::createNewWindow): Set resizability via bridge,
+	not window directly.
+        * kwq/KWQTextArea.mm:
+        (-[KWQTextArea becomeFirstResponder]): Deal with bridge for first responder
+	issues, not window directly.
+        (-[KWQTextArea drawRect:]): Likewise.
+        (-[KWQTextAreaTextView insertTab:]): Likewise.
+        (-[KWQTextAreaTextView insertBacktab:]): Likewise.
+        (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Likewise.
+        (-[KWQTextAreaTextView selectedTextAttributes]): Likewise.
+        * kwq/KWQWidget.mm:
+        (QWidget::setActiveWindow): Focus window via bridge.
+        (QWidget::hasFocus): Handle first responder issues via bridge.
+        (QWidget::setFocus): Likewise.
+        (QWidget::isVisible): Get window from bridge.
+        (QWidget::mapFromGlobal): Get window from bridge.
+        (QWidget::disableFlushDrawing): Add comment noting why it's OK
+	to get the window from the view instead of from the bridge here.
+        (QWidget::enableFlushDrawing): Likewise.
+        * kwq/KWQWindowWidget.mm:
+        (KWQWindowWidget::frameGeometry): Work through bridge, not window
+	directly.
+        (KWQWindowWidget::mapToGlobal): Likewise.
+        (KWQWindowWidget::setFrameGeometry): Likewise.
+        * kwq/WebCoreBridge.h:
+
 2003-03-27  David Hyatt  <hyatt at apple.com>
 
 	This is just a long-standing screwup where I didn't port an old
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 88a70cf..273a904 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,47 @@
+2003-03-27  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	- fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
+	- fixed 3098365 - Default window size changes as a result of popup windows
+	- fixed 3189291 - javascript window.close() closes window, not just originating tab
+
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::scheduleClose): Close via the bridge, not the window directly.
+        (KWQKHTMLPart::bridgeForWidget): Take const QWidget * instead of QWidget *.
+        (KWQKHTMLPart::nodeForWidget): Likewise.
+        (KWQKHTMLPart::khtmlMousePressEvent): Deal with responder issues via bridge,
+	not window directly.
+        (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Likewise.
+        (KWQKHTMLPart::mouseDown): Likewise.
+        * kwq/KWQKHTMLPartBrowserExtension.mm:
+        (KHTMLPartBrowserExtension::createNewWindow): Set resizability via bridge,
+	not window directly.
+        * kwq/KWQTextArea.mm:
+        (-[KWQTextArea becomeFirstResponder]): Deal with bridge for first responder
+	issues, not window directly.
+        (-[KWQTextArea drawRect:]): Likewise.
+        (-[KWQTextAreaTextView insertTab:]): Likewise.
+        (-[KWQTextAreaTextView insertBacktab:]): Likewise.
+        (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Likewise.
+        (-[KWQTextAreaTextView selectedTextAttributes]): Likewise.
+        * kwq/KWQWidget.mm:
+        (QWidget::setActiveWindow): Focus window via bridge.
+        (QWidget::hasFocus): Handle first responder issues via bridge.
+        (QWidget::setFocus): Likewise.
+        (QWidget::isVisible): Get window from bridge.
+        (QWidget::mapFromGlobal): Get window from bridge.
+        (QWidget::disableFlushDrawing): Add comment noting why it's OK
+	to get the window from the view instead of from the bridge here.
+        (QWidget::enableFlushDrawing): Likewise.
+        * kwq/KWQWindowWidget.mm:
+        (KWQWindowWidget::frameGeometry): Work through bridge, not window
+	directly.
+        (KWQWindowWidget::mapToGlobal): Likewise.
+        (KWQWindowWidget::setFrameGeometry): Likewise.
+        * kwq/WebCoreBridge.h:
+
 2003-03-27  David Hyatt  <hyatt at apple.com>
 
 	This is just a long-standing screwup where I didn't port an old
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 1094e7e..af8e36c 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -147,7 +147,7 @@ public:
 
     void createEmptyDocument();
 
-    static WebCoreBridge *bridgeForWidget(QWidget *);
+    static WebCoreBridge *bridgeForWidget(const QWidget *);
     
     QString requestedURLString() const;
     QString incomingReferrer() const;
@@ -213,7 +213,7 @@ private:
     QString generateFrameName();
 
     NSView *nextKeyViewInFrame(DOM::NodeImpl *startingPoint, KWQSelectionDirection);
-    static DOM::NodeImpl *nodeForWidget(QWidget *);
+    static DOM::NodeImpl *nodeForWidget(const QWidget *);
     static KWQKHTMLPart *partForNode(DOM::NodeImpl *);
     
     WebCoreBridge *_bridge;
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 109dee7..960296a 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -560,7 +560,7 @@ void KWQKHTMLPart::setStatusBarText(const QString &status)
 
 void KWQKHTMLPart::scheduleClose()
 {
-    [[_bridge window] performSelector:@selector(close) withObject:nil afterDelay:0.0];
+    [_bridge performSelector:@selector(closeWindow) withObject:nil afterDelay:0.0];
 }
 
 void KWQKHTMLPart::unfocusWindow()
@@ -870,7 +870,7 @@ void KWQKHTMLPart::openURLFromPageCache(KWQPageState *state)
     checkCompleted();
 }
 
-WebCoreBridge *KWQKHTMLPart::bridgeForWidget(QWidget *widget)
+WebCoreBridge *KWQKHTMLPart::bridgeForWidget(const QWidget *widget)
 {
     return partForNode(nodeForWidget(widget))->bridge();
 }
@@ -880,7 +880,7 @@ KWQKHTMLPart *KWQKHTMLPart::partForNode(NodeImpl *node)
     return KWQ(node->getDocument()->view()->part());
 }
 
-NodeImpl *KWQKHTMLPart::nodeForWidget(QWidget *widget)
+NodeImpl *KWQKHTMLPart::nodeForWidget(const QWidget *widget)
 {
     return static_cast<const RenderWidget *>(widget->eventFilterObject())->element();
 }
@@ -1078,9 +1078,8 @@ void KWQKHTMLPart::khtmlMousePressEvent(MousePressEvent *event)
         // We don't do this at the start of mouse down handling (before calling into WebCore),
         // because we don't want to do it until we know we didn't hit a widget.
         NSView *view = d->m_view->getDocumentView();
-        NSWindow *window = [view window];
-        if ([_currentEvent clickCount] <= 1 && [window firstResponder] != view) {
-            [window makeFirstResponder:view];
+        if ([_currentEvent clickCount] <= 1 && [_bridge firstResponder] != view) {
+            [_bridge makeFirstResponder:view];
         }
         
         KHTMLPart::khtmlMousePressEvent(event);
@@ -1133,8 +1132,7 @@ bool KWQKHTMLPart::passWidgetMouseDownEventToWidget(RenderWidget *renderWidget)
         return true;
     }
     
-    NSWindow *window = [view window];
-    if ([window firstResponder] == view) {
+    if ([_bridge firstResponder] == view) {
         // In the case where we just became first responder, we should send the mouseDown:
         // to the NSTextField, not the NSTextField's editor. This code makes sure that happens.
         // If we don't do this, we see a flash of selected text when clicking in a text field.
@@ -1155,7 +1153,7 @@ bool KWQKHTMLPart::passWidgetMouseDownEventToWidget(RenderWidget *renderWidget)
         // Normally [NSWindow sendEvent:] handles setting the first responder.
         // But in our case, the event was sent to the view representing the entire web page.
         if ([_currentEvent clickCount] <= 1 && [view acceptsFirstResponder] && [view needsPanelToBecomeKey]) {
-            [window makeFirstResponder:view];
+            [_bridge makeFirstResponder:view];
         }
     }
 
@@ -1382,7 +1380,11 @@ void KWQKHTMLPart::mouseDown(NSEvent *event)
     _currentEvent = [event retain];
     
     NSResponder *oldFirstResponderAtMouseDownTime = _firstResponderAtMouseDownTime;
-    _firstResponderAtMouseDownTime = [[[d->m_view->getView() window] firstResponder] retain];
+    // Unlike other places in WebCore where we get the first
+    // responder, in this case we must be talking about the real first
+    // responder, so we could just ask the bridge's window, instead of
+    // the bridge. It's unclear which is better.
+    _firstResponderAtMouseDownTime = [[_bridge firstResponder] retain];
 
     QMouseEvent kEvent(QEvent::MouseButtonPress, QPoint([event locationInWindow]),
         buttonForCurrentEvent(), stateForCurrentEvent(), [event clickCount]);
diff --git a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
index c1db50d..dc7f4a8 100644
--- a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
+++ b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
@@ -109,7 +109,7 @@ void KHTMLPartBrowserExtension::createNewWindow(const KURL &url,
     }
     
     if (!winArgs.resizable) {
-	[[bridge window] setShowsResizeIndicator:NO];
+	[bridge setWindowIsResizable:NO];
     }
     
     if (winArgs.xSet || winArgs.ySet || winArgs.widthSet || winArgs.heightSet) {
diff --git a/WebCore/kwq/KWQTextArea.mm b/WebCore/kwq/KWQTextArea.mm
index bbeb4b7..c7f3565 100644
--- a/WebCore/kwq/KWQTextArea.mm
+++ b/WebCore/kwq/KWQTextArea.mm
@@ -27,6 +27,7 @@
 
 #import "KWQTextEdit.h"
 #import "KWQKHTMLPart.h"
+#import "WebCoreBridge.h"
 
 /*
     This widget is used to implement the <TEXTAREA> element.
@@ -355,7 +356,7 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
 
 - (BOOL)becomeFirstResponder
 {
-    [[self window] makeFirstResponder:textView];
+    [KWQKHTMLPart::bridgeForWidget(widget) makeFirstResponder:textView];
     return YES;
 }
 
@@ -398,7 +399,7 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
 - (void)drawRect:(NSRect)rect
 {
     [super drawRect:rect];
-    if ([[self window] firstResponder] == textView) {
+    if ([KWQKHTMLPart::bridgeForWidget(widget) firstResponder] == textView) {
         NSSetFocusRingStyle(NSFocusRingOnly);
         NSRectFill([self bounds]);
     }
@@ -427,7 +428,7 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
 {
     NSView *view = [[self delegate] nextValidKeyView];
     if (view && view != self && view != [self delegate]) {
-        [[self window] makeFirstResponder:view];
+        [KWQKHTMLPart::bridgeForWidget(widget) makeFirstResponder:view];
     }
 }
 
@@ -435,7 +436,7 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
 {
     NSView *view = [[self delegate] previousValidKeyView];
     if (view && view != self && view != [self delegate]) {
-        [[self window] makeFirstResponder:view];
+        [KWQKHTMLPart::bridgeForWidget(widget) makeFirstResponder:view];
     }
 }
 
@@ -468,12 +469,12 @@ static NSRange RangeOfParagraph(NSString *text, int paragraph)
 
 - (BOOL)shouldDrawInsertionPoint
 {
-    return self == [[self window] firstResponder] && [super shouldDrawInsertionPoint];
+    return self == [KWQKHTMLPart::bridgeForWidget(widget) firstResponder] && [super shouldDrawInsertionPoint];
 }
 
 - (NSDictionary *)selectedTextAttributes
 {
-    return self == [[self window] firstResponder] ? [super selectedTextAttributes] : nil;
+    return self == [KWQKHTMLPart::bridgeForWidget(widget) firstResponder] ? [super selectedTextAttributes] : nil;
 }
 
 - (void)scrollPageUp:(id)sender
diff --git a/WebCore/kwq/KWQWidget.mm b/WebCore/kwq/KWQWidget.mm
index 2b6636c..4e02cc3 100644
--- a/WebCore/kwq/KWQWidget.mm
+++ b/WebCore/kwq/KWQWidget.mm
@@ -33,6 +33,7 @@
 #import "khtmlview.h"
 #import "render_replaced.h"
 #import "KWQKHTMLPart.h"
+#import "WebCoreBridge.h"
 
 using khtml::RenderWidget;
 
@@ -89,7 +90,7 @@ void QWidget::resize(int w, int h)
 
 void QWidget::setActiveWindow() 
 {
-    [[data->view window] makeKeyAndOrderFront:nil];
+    [KWQKHTMLPart::bridgeForWidget(this) focusWindow];
 }
 
 void QWidget::setEnabled(bool enabled)
@@ -163,8 +164,7 @@ int QWidget::baselinePosition() const
 bool QWidget::hasFocus() const
 {
     NSView *view = getView();
-    NSWindow *window = [view window];
-    NSView *firstResponder = [window firstResponder];
+    NSView *firstResponder = [KWQKHTMLPart::bridgeForWidget(this) firstResponder];
     if (!firstResponder) {
         return false;
     }
@@ -196,7 +196,7 @@ void QWidget::setFocus()
     
     NSView *view = getView();
     if ([view acceptsFirstResponder]) {
-        [[view window] makeFirstResponder:view];
+        [KWQKHTMLPart::bridgeForWidget(this) makeFirstResponder:view];
     }
 }
 
@@ -282,7 +282,7 @@ void QWidget::constPolish() const
 bool QWidget::isVisible() const
 {
     // FIXME - rewrite interms of top level widget?
-    return [[data->view window] isVisible];
+    return [[KWQKHTMLPart::bridgeForWidget(this) window] isVisible];
 }
 
 void QWidget::setCursor(const QCursor &cur)
@@ -338,7 +338,7 @@ void QWidget::setFrameGeometry(const QRect &rect)
 QPoint QWidget::mapFromGlobal(const QPoint &p) const
 {
     NSPoint bp;
-    bp = [[data->view window] convertScreenToBase:[data->view convertPoint:p toView:nil]];
+    bp = [[KWQKHTMLPart::bridgeForWidget(this) window] convertScreenToBase:[data->view convertPoint:p toView:nil]];
     return QPoint(bp);
 }
 
@@ -383,11 +383,17 @@ void QWidget::unlockDrawingFocus()
 
 void QWidget::disableFlushDrawing()
 {
+    // It's OK to use the real window here, because if the view's not
+    // in the view hierarchy, then we don't actually want to affect
+    // flushing.
     [[getView() window] disableFlushWindow];
 }
 
 void QWidget::enableFlushDrawing()
 {
+    // It's OK to use the real window here, because if the view's not
+    // in the view hierarchy, then we don't actually want to affect
+    // flushing.
     NSWindow *window = [getView() window];
     [window enableFlushWindow];
     [window flushWindow];
diff --git a/WebCore/kwq/KWQWindowWidget.mm b/WebCore/kwq/KWQWindowWidget.mm
index 74ff6b0..4198188 100644
--- a/WebCore/kwq/KWQWindowWidget.mm
+++ b/WebCore/kwq/KWQWindowWidget.mm
@@ -54,7 +54,7 @@ QSize KWQWindowWidget::sizeHint() const
 
 QRect KWQWindowWidget::frameGeometry() const
 {
-    NSRect frame = [[d->bridge window] frame];
+    NSRect frame = [d->bridge windowFrame];
     return QRect((int)frame.origin.x, (int)(NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]) - NSMaxY(frame)),
 		 (int)frame.size.width, (int)frame.size.height);
 }
@@ -66,7 +66,7 @@ QWidget *KWQWindowWidget::topLevelWidget() const
 
 QPoint KWQWindowWidget::mapToGlobal(const QPoint &p) const
 {
-    NSPoint windowPoint = NSMakePoint(p.x(), [[d->bridge window] frame].size.height - p.y());
+    NSPoint windowPoint = NSMakePoint(p.x(), [d->bridge windowFrame].size.height - p.y());
     NSPoint screenPoint = [[d->bridge window] convertBaseToScreen:windowPoint];
     return QPoint((int)screenPoint.x, (int)(NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]) - screenPoint.y));
 }
@@ -81,6 +81,6 @@ QPoint KWQWindowWidget::mapFromGlobal(const QPoint &p) const
 void KWQWindowWidget::setFrameGeometry(const QRect &r)
 {
     // FIXME: Could do something to make it easy for the browser to avoid saving this change.
-    [[d->bridge window] setFrame:NSMakeRect(r.x(), NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]) - (r.y() + r.height()),
-        r.width(), r.height()) display:YES];
+    [d->bridge setWindowFrame:NSMakeRect(r.x(), NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]) - (r.y() + r.height()),
+        r.width(), r.height())];
 }
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index d709ab4..f956995 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -245,6 +245,14 @@ enum FrameBorderStyle {
 - (void)setWindowContentRect:(NSRect)frame;
 - (NSRect)windowContentRect;
 
+- (void)setWindowIsResizable:(BOOL)resizable;
+- (BOOL)windowIsResizable;
+
+- (NSResponder *)firstResponder;
+- (void)makeFirstResponder:(NSResponder *)view;
+
+- (void)closeWindow;
+
 - (void)runJavaScriptAlertPanelWithMessage:(NSString *)message;
 - (BOOL)runJavaScriptConfirmPanelWithMessage:(NSString *)message;
 - (BOOL)runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText returningText:(NSString **)result;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 242458e..7ee4545 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,20 @@
+2003-03-27  Maciej Stachowiak  <mjs at apple.com>
+
+        Reviewed by Darin.
+
+	- fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
+	- fixed 3098365 - Default window size changes as a result of popup windows
+	- fixed 3189291 - javascript window.close() closes window, not just originating tab
+	
+
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge setWindowIsResizable:]): New bridge method, implemented
+	by calling window operations delegate.
+        (-[WebBridge windowIsResizable]): Likewise.
+        (-[WebBridge firstResponder]): Likewise.
+        (-[WebBridge makeFirstResponder:]): Likewise.
+        (-[WebBridge closeWindow]): Likewise.
+
 2003-03-27  Ken Kocienda  <kocienda at apple.com>
 
         Reviewed by Darin
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index c0d82d2..93276f3 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -205,6 +205,42 @@
     return [[webView _windowOperationsDelegateForwarder] webViewContentRect:webView];
 }
 
+- (void)setWindowIsResizable:(BOOL)resizable
+{
+    ASSERT(frame != nil);
+    WebView *webView = [frame webView];
+    [[webView _windowOperationsDelegateForwarder] webView:webView setResizable:resizable];
+}
+
+- (BOOL)windowIsResizable
+{
+    ASSERT(frame != nil);
+    WebView *webView = [frame webView];
+    return [[webView _windowOperationsDelegateForwarder] webViewIsResizable:webView];
+}
+
+- (NSResponder *)firstResponder
+{
+    ASSERT(frame != nil);
+    WebView *webView = [frame webView];
+    return [[webView _windowOperationsDelegateForwarder] webViewFirstResponderInWindow:webView];
+}
+
+- (void)makeFirstResponder:(NSResponder *)view
+{
+    ASSERT(frame != nil);
+    WebView *webView = [frame webView];
+    [[webView _windowOperationsDelegateForwarder] webView:webView makeFirstResponderInWindow:view];
+}
+
+- (void)closeWindow
+{
+    ASSERT(frame != nil);
+    WebView *webView = [frame webView];
+    [[webView _windowOperationsDelegateForwarder] webViewCloseWindow:webView];
+}
+
+
 - (NSWindow *)window
 {
     ASSERT(frame != nil);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list