[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:37:31 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 2875fe23a4ad52bfc50181cba5c0ad29eae56e1f
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Apr 16 17:21:32 2003 +0000

            Reviewed by John.
    
    	- fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com
    
            * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]):
            Use _webView instead of _controller.
    
            * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon.
    
            * WebView.subproj/WebHTMLView.m:
            (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller.
            (-[WebHTMLView menuForEvent:]): Ditto.
            (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
            * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView.
            * WebView.subproj/WebHTMLViewPrivate.m:
            (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible
            stale unretained pointer issues with getting the WebView through the WebFrame, which is what
            fixes the bug.
            (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller.
            (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least.
            (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index dbb1522..3535c2e 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,27 @@
+2003-04-16  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+	- fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com
+
+        * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]):
+        Use _webView instead of _controller.
+        
+        * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon.
+        
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller.
+        (-[WebHTMLView menuForEvent:]): Ditto.
+        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
+        * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView.
+        * WebView.subproj/WebHTMLViewPrivate.m:
+        (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible
+        stale unretained pointer issues with getting the WebView through the WebFrame, which is what
+        fixes the bug.
+        (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller.
+        (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least.
+        (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto.
+
 2003-04-15  Richard Williamson   <rjw at apple.com>
 
         Create the dictionary for volatile values.  Without this fix
diff --git a/WebKit/Plugins.subproj/WebPluginController.m b/WebKit/Plugins.subproj/WebPluginController.m
index 9c4f8d9..8ecd338 100644
--- a/WebKit/Plugins.subproj/WebPluginController.m
+++ b/WebKit/Plugins.subproj/WebPluginController.m
@@ -130,8 +130,8 @@
         ERROR("could not show status message (%@) because plug-in has already been destroyed", message);
         return;
     }
-    WebView *c = [_HTMLView _controller];
-    [[c _windowOperationsDelegateForwarder] webView:c setStatusText:message];
+    WebView *v = [_HTMLView _webView];
+    [[v _windowOperationsDelegateForwarder] webView:v setStatusText:message];
 }
 
 @end
diff --git a/WebKit/WebCoreSupport.subproj/WebTextRendererFactory.m b/WebKit/WebCoreSupport.subproj/WebTextRendererFactory.m
index c6f427f..076f2ed 100644
--- a/WebKit/WebCoreSupport.subproj/WebTextRendererFactory.m
+++ b/WebKit/WebCoreSupport.subproj/WebTextRendererFactory.m
@@ -225,7 +225,7 @@ static int getLCDScaleParameters(void)
 
 #define MINIMUM_GLYPH_CACHE_SIZE 1536 * 1024
 
-+ (void)createSharedFactory;
++ (void)createSharedFactory
 {
     if (![self sharedFactory]) {
         [[[self alloc] init] release];
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index 7411511..afc8045 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -146,7 +146,7 @@
 
 - (void)removeMouseMovedObserver
 {
-    [[self _controller] _mouseDidMoveOverElement:nil modifierFlags:0];
+    [[self _webView] _mouseDidMoveOverElement:nil modifierFlags:0];
     [[NSNotificationCenter defaultCenter] removeObserver:self
         name:NSMouseMovedNotification object:nil];
 }
@@ -336,7 +336,7 @@
     NSPoint point = [self convertPoint:[theEvent locationInWindow] fromView:nil];
     NSDictionary *element = [self _elementAtPoint:point];
 
-    return [[self _controller] _menuForElement:element];
+    return [[self _webView] _menuForElement:element];
 }
 
 // Search from the end of the currently selected location, or from the beginning of the
@@ -682,7 +682,7 @@
         return nil;
     }
 
-    [[self _controller] _downloadURL:_private->draggingImageURL toDirectory:[dropDestination path]];
+    [[self _webView] _downloadURL:_private->draggingImageURL toDirectory:[dropDestination path]];
 
     // FIXME: The file is supposed to be created at this point so the Finder places the file
     // where the drag ended. Since we can't create the file until the download starts,
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.h b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
index 009cb48..9601781 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.h
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
@@ -40,7 +40,7 @@
 @interface WebHTMLView (WebPrivate)
 
 - (void)_reset;
-- (WebView *)_controller;
+- (WebView *)_webView;
 - (WebFrame *)_frame;
 - (WebBridge *)_bridge;
 - (void)_adjustFrames;
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index 35c041f..2a13ce6 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -136,9 +136,9 @@ static BOOL forceRealHitTest = NO;
     [WebImageRenderer stopAnimationsInView:self];
 }
 
-- (WebView *)_controller
+- (WebView *)_webView
 {
-    return [[self _web_parentWebFrameView] _controller];
+    return (WebView *)[self _web_superviewOfClass:[WebView class]];
 }
 
 - (WebFrame *)_frame
@@ -370,11 +370,11 @@ static WebHTMLView *lastHitView = nil;
     lastHitView = view;
     
     if (view == nil) {
-        [[self _controller] _mouseDidMoveOverElement:nil modifierFlags:0];
+        [[self _webView] _mouseDidMoveOverElement:nil modifierFlags:0];
     } else {
         [[view _bridge] mouseMoved:event];
         NSPoint point = [view convertPoint:[event locationInWindow] fromView:nil];
-        [[self _controller] _mouseDidMoveOverElement:[view _elementAtPoint:point] modifierFlags:[event modifierFlags]];
+        [[self _webView] _mouseDidMoveOverElement:[view _elementAtPoint:point] modifierFlags:[event modifierFlags]];
     }
 }
 
@@ -386,26 +386,29 @@ static WebHTMLView *lastHitView = nil;
 
 + (NSArray *)_pasteboardTypes
 {
-    return [NSArray arrayWithObjects:NSStringPboardType,
+    return [NSArray arrayWithObjects:
 #if SUPPORT_HTML_PBOARD
         NSHTMLPboardType,
 #endif
-        NSRTFPboardType, nil];
+        NSRTFPboardType, NSStringPboardType, nil];
 }
 
 - (void)_writeSelectionToPasteboard:(NSPasteboard *)pasteboard
 {
     [pasteboard declareTypes:[[self class] _pasteboardTypes] owner:nil];
-    [pasteboard setString:[self selectedString] forType:NSStringPboardType];
 
-    // Put attributed string on the pasteboard.
+#if SUPPORT_HTML_PBOARD
+    // Put HTML on the pasteboard.
+    [pasteboard setData:??? forType:NSHTMLPboardType];
+#endif
+
+    // Put attributed string on the pasteboard (RTF format).
     NSAttributedString *attributedString = [self selectedAttributedString];
     NSData *attributedData = [attributedString RTFFromRange:NSMakeRange(0, [attributedString length]) documentAttributes:nil];
     [pasteboard setData:attributedData forType:NSRTFPboardType];
 
-#if SUPPORT_HTML_PBOARD
-    // Put HTML on the pasteboard.
-#endif
+    // Put plain string on the pasteboard.
+    [pasteboard setString:[self selectedString] forType:NSStringPboardType];
 }
 
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list