[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:18:24 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 23b9ad7944e95d5e9e743812021b9f0837192be5
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 2 18:58:26 2003 +0000

            Reviewed by John and Don.
    
    	- fixed 3137661 -- REGRESSION: autoscroll selection is broken
    
    	The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
    	coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
    	during a drag, so lets not do that.
    
            * WebView.subproj/WebHTMLView.m:
            (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event.
            (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.
    
            * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]):
    	Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the
            middle of a drag.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 2b96956..36cd102 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,23 @@
 2003-01-02  Darin Adler  <darin at apple.com>
 
+        Reviewed by John and Don.
+
+	- fixed 3137661 -- REGRESSION: autoscroll selection is broken
+
+	The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
+	coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
+	during a drag, so lets not do that.
+
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event.
+        (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.
+
+        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]):
+	Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the
+        middle of a drag.
+
+2003-01-02  Darin Adler  <darin at apple.com>
+
         Reviewed by John and Ken.
 
 	- fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index 91d87f5..f6267ff 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -596,11 +596,13 @@
 
 - (void)mouseDown: (NSEvent *)event
 {
-    // Record the mouse down position so we can determine
-    // drag hysteresis.
+    // Record the mouse down position so we can determine drag hysteresis.
     [_private->mouseDownEvent release];
     _private->mouseDownEvent = [event retain];
 
+    // Don't do any mouseover while the mouse is down.
+    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(_updateMouseoverWithFakeEvent) object:nil];
+
     // Let khtml get a chance to deal with the event.
     [[self _bridge] mouseDown:event];
 }
@@ -662,6 +664,7 @@
 - (void)mouseUp: (NSEvent *)event
 {
     [[self _bridge] mouseUp:event];
+    [self _updateMouseoverWithFakeEvent];
 }
 
 - (void)mouseMovedNotification:(NSNotification *)notification
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index 24f576f..9f1de24 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -5,6 +5,7 @@
 
 #import <WebKit/WebHTMLViewPrivate.h>
 
+#import <AppKit/NSGraphicsContextPrivate.h> // for PSbuttondown
 #import <AppKit/NSResponder_Private.h>
 
 #import <WebFoundation/WebAssertions.h>
@@ -177,8 +178,14 @@ static BOOL forceRealHitTest = NO;
         [self setNeedsDisplay:YES];
     }
     
-    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(_updateMouseoverWithFakeEvent) object:nil];
-    [self performSelector:@selector(_updateMouseoverWithFakeEvent) withObject:nil afterDelay:0];
+    // Don't update mouseover while mouse is down.
+    int mouseIsDown;
+    PSbuttondown(&mouseIsDown);
+    if (!mouseIsDown) {
+        SEL selector = @selector(_updateMouseoverWithFakeEvent);
+        [NSObject cancelPreviousPerformRequestsWithTarget:self selector:selector object:nil];
+        [self performSelector:selector withObject:nil afterDelay:0];
+    }
 }
 
 - (NSDictionary *)_elementAtPoint:(NSPoint)point

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list