[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 06:55:10 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 6b7e1b693465f5fb7b39c0439f9667d50ac905fe
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 28 06:52:11 2002 +0000

    	- fixed 3037369 -- Status text not cleared after start of drag from page
    
            * WebView.subproj/WebHTMLView.m:
            (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
    	Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
    	with the mouseUp event after the drag is done.
            (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
    	the code from here was moved into there.
    
            * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
            * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
    	Moved all the code from mouseMovedNotification: in here so it could be used twice.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 855b49b..fcf416d 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,18 @@
+2002-10-27  Darin Adler  <darin at apple.com>
+
+	- fixed 3037369 -- Status text not cleared after start of drag from page
+
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
+	Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
+	with the mouseUp event after the drag is done.
+        (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
+	the code from here was moved into there.
+
+        * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
+        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
+	Moved all the code from mouseMovedNotification: in here so it could be used twice.
+
 2002-10-27  Don Melton  <gramps at apple.com>
 
         * WebView.subproj/WebController.m:
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 855b49b..fcf416d 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,18 @@
+2002-10-27  Darin Adler  <darin at apple.com>
+
+	- fixed 3037369 -- Status text not cleared after start of drag from page
+
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
+	Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
+	with the mouseUp event after the drag is done.
+        (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
+	the code from here was moved into there.
+
+        * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
+        * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
+	Moved all the code from mouseMovedNotification: in here so it could be used twice.
+
 2002-10-27  Don Melton  <gramps at apple.com>
 
         * WebView.subproj/WebController.m:
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index 39da077..7d5db2b 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -608,6 +608,17 @@
           pasteboard:pboard
               source:sourceObject
            slideBack:slideBack];
+    
+    // During a drag, we don't get any mouseMoved or flagsChanged events.
+    // So after the drag we need to explicity update the mouseover state.
+    WebHTMLView *viewForMouseover = self;
+    NSView *view = self;
+    while ((view = [view superview])) {
+        if ([view isKindOfClass:[WebHTMLView class]]) {
+            viewForMouseover = (WebHTMLView *)view;
+        }
+    }
+    [viewForMouseover _updateMouseoverWithEvent:[NSApp currentEvent]];
 }
 
 - (void)mouseDragged:(NSEvent *)event
@@ -801,29 +812,7 @@
 
 - (void)mouseMovedNotification:(NSNotification *)notification
 {
-    ASSERT(![self _insideAnotherHTMLView]);
-    
-    NSEvent *event = [[notification userInfo] objectForKey:@"NSEvent"];
-
-    WebHTMLView *view = nil;
-    if ([event window] == [self window]) {
-        NSView *hitView = [[[self window] contentView] hitTest:[event locationInWindow]];
-        while (hitView) {
-            if ([hitView isKindOfClass:[WebHTMLView class]]) {
-                view = (WebHTMLView *)hitView;
-                break;
-            }
-            hitView = [hitView superview];
-        }
-    }
-    
-    if (view == nil) {
-        [self _mouseOverElement:nil modifierFlags:0];
-    } else {
-        [[view _bridge] mouseMoved:event];
-        NSPoint point = [view convertPoint:[event locationInWindow] fromView:nil];
-        [self _mouseOverElement:[view _elementAtPoint:point] modifierFlags:[event modifierFlags]];
-    }
+    [self _updateMouseoverWithEvent:[[notification userInfo] objectForKey:@"NSEvent"]];
 }
 
 #if 0
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.h b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
index 3352899..0d5de95 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.h
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
@@ -56,5 +56,6 @@
 - (void)_restoreSubviews;
 
 - (BOOL)_insideAnotherHTMLView;
+- (void)_updateMouseoverWithEvent:(NSEvent *)event;
 
 @end
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.m b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
index 5086ca9..71d2c97 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.m
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.m
@@ -282,6 +282,31 @@ BOOL _modifierTrackingEnabled = FALSE;
     [super scrollPoint:point];
 }
 
+- (void)_updateMouseoverWithEvent:(NSEvent *)event
+{
+    ASSERT(![self _insideAnotherHTMLView]);
+
+    WebHTMLView *view = nil;
+    if ([event window] == [self window]) {
+        NSView *hitView = [[[self window] contentView] hitTest:[event locationInWindow]];
+        while (hitView) {
+            if ([hitView isKindOfClass:[WebHTMLView class]]) {
+                view = (WebHTMLView *)hitView;
+                break;
+            }
+            hitView = [hitView superview];
+        }
+    }
+    
+    if (view == nil) {
+        [self _mouseOverElement:nil modifierFlags:0];
+    } else {
+        [[view _bridge] mouseMoved:event];
+        NSPoint point = [view convertPoint:[event locationInWindow] fromView:nil];
+        [self _mouseOverElement:[view _elementAtPoint:point] modifierFlags:[event modifierFlags]];
+    }
+}
+
 @end
 
 @implementation NSView (WebHTMLViewPrivate)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list