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

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:39:14 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 7fde753c189e329b160c273b983ff8ca0c1e8358
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Sep 14 01:07:25 2002 +0000

            Fixed navigation to link on mouse up after drag.
    
            * khtml/khtmlview.cpp:
            (KHTMLView::viewportMousePressEvent):
            (KHTMLView::viewportMouseDoubleClickEvent):
            Change khtml's definition of double click to be based on
            mouse up of second click, not mouse down.
    
            (KHTMLView::viewportMouseReleaseEvent):
    
            * kwq/WebCoreBridge.mm:
            (-[WebCoreBridge mouseUp:]):
            (-[WebCoreBridge mouseDown:]):
            Changed double click to be on mouse up with click count of two.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 1668489..663255d 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,20 @@
+2002-09-13  Richard Williamson (Home)  <rjw at apple.com>
+
+        Fixed navigation to link on mouse up after drag.
+        
+        * khtml/khtmlview.cpp:
+        (KHTMLView::viewportMousePressEvent):
+        (KHTMLView::viewportMouseDoubleClickEvent):
+        Change khtml's definition of double click to be based on
+        mouse up of second click, not mouse down. 
+        
+        (KHTMLView::viewportMouseReleaseEvent):
+
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge mouseUp:]):
+        (-[WebCoreBridge mouseDown:]):
+        Changed double click to be on mouse up with click count of two.
+
 2002-09-13  Darin Adler  <darin at apple.com>
 
 	Fix crash in slot code.
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 1668489..663255d 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,20 @@
+2002-09-13  Richard Williamson (Home)  <rjw at apple.com>
+
+        Fixed navigation to link on mouse up after drag.
+        
+        * khtml/khtmlview.cpp:
+        (KHTMLView::viewportMousePressEvent):
+        (KHTMLView::viewportMouseDoubleClickEvent):
+        Change khtml's definition of double click to be based on
+        mouse up of second click, not mouse down. 
+        
+        (KHTMLView::viewportMouseReleaseEvent):
+
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge mouseUp:]):
+        (-[WebCoreBridge mouseDown:]):
+        Changed double click to be on mouse up with click count of two.
+
 2002-09-13  Darin Adler  <darin at apple.com>
 
 	Fix crash in slot code.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1668489..663255d 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,20 @@
+2002-09-13  Richard Williamson (Home)  <rjw at apple.com>
+
+        Fixed navigation to link on mouse up after drag.
+        
+        * khtml/khtmlview.cpp:
+        (KHTMLView::viewportMousePressEvent):
+        (KHTMLView::viewportMouseDoubleClickEvent):
+        Change khtml's definition of double click to be based on
+        mouse up of second click, not mouse down. 
+        
+        (KHTMLView::viewportMouseReleaseEvent):
+
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge mouseUp:]):
+        (-[WebCoreBridge mouseDown:]):
+        Changed double click to be on mouse up with click count of two.
+
 2002-09-13  Darin Adler  <darin at apple.com>
 
 	Fix crash in slot code.
diff --git a/WebCore/khtml/khtmlview.cpp b/WebCore/khtml/khtmlview.cpp
index f766908..d77870b 100644
--- a/WebCore/khtml/khtmlview.cpp
+++ b/WebCore/khtml/khtmlview.cpp
@@ -453,6 +453,8 @@ void KHTMLView::viewportMousePressEvent( QMouseEvent *_mouse )
 	d->clickY = ym;
     }
 #else
+    d->clickX = xm;
+    d->clickY = ym;
     d->clickCount = _mouse->clickCount();
 #endif    
 
@@ -487,21 +489,27 @@ void KHTMLView::viewportMouseDoubleClickEvent( QMouseEvent *_mouse )
     DOM::NodeImpl::MouseEvent mev( _mouse->stateAfter(), DOM::NodeImpl::MouseDblClick );
     m_part->xmlDocImpl()->prepareMouseEvent( false, xm, ym, &mev );
 
-#ifndef APPLE_CHANGES
+#ifdef APPLE_CHANGES
+    d->clickCount = _mouse->clickCount();
+    bool swallowEvent = dispatchMouseEvent(EventImpl::MOUSEUP_EVENT,mev.innerNode.handle(),true,
+                                           d->clickCount,_mouse,false,DOM::NodeImpl::MouseRelease);
+    
+    dispatchMouseEvent(EventImpl::CLICK_EVENT,mev.innerNode.handle(),true,
+			   d->clickCount,_mouse,true,DOM::NodeImpl::MouseRelease);
+
+    if (mev.innerNode.handle())
+	mev.innerNode.handle()->setPressed(false);
+
+    if (!swallowEvent) {
+	khtml::MouseDoubleClickEvent event( _mouse, xm, ym, mev.url, mev.target, mev.innerNode );
+	QApplication::sendEvent( m_part, &event );
+    }
+
+#else
     // We do the same thing as viewportMousePressEvent() here, since the DOM does not treat
     // single and double-click events as separate (only the detail, i.e. number of clicks differs)
     // In other words an even detail value for a mouse click event means a double click, and an
     // odd detail value means a single click
-    if (d->clickCount > 0 && d->clickX == xm && d->clickY == ym) // ### support mouse threshold
-	d->clickCount++;
-    else {
-	d->clickCount = 1;
-	d->clickX = xm;
-	d->clickY = ym;
-    }
-#else
-    d->clickCount = _mouse->clickCount();
-#endif    
     bool swallowEvent = dispatchMouseEvent(EventImpl::MOUSEDOWN_EVENT,mev.innerNode.handle(),true,
                                            d->clickCount,_mouse,true,DOM::NodeImpl::MouseDblClick);
 
@@ -516,6 +524,7 @@ void KHTMLView::viewportMouseDoubleClickEvent( QMouseEvent *_mouse )
 	//if ( url.length() )
 	//emit doubleClick( url.string(), _mouse->button() );
     }
+#endif    
 }
 
 void KHTMLView::viewportMouseMoveEvent( QMouseEvent * _mouse )
@@ -632,10 +641,8 @@ void KHTMLView::viewportMouseReleaseEvent( QMouseEvent * _mouse )
     bool swallowEvent = dispatchMouseEvent(EventImpl::MOUSEUP_EVENT,mev.innerNode.handle(),true,
                                            d->clickCount,_mouse,false,DOM::NodeImpl::MouseRelease);
 
-#ifndef APPLE_CHANGES
     if (d->clickCount > 0 &&
         QPoint(d->clickX-xm,d->clickY-ym).manhattanLength() <= QApplication::startDragDistance())
-#endif
 	dispatchMouseEvent(EventImpl::CLICK_EVENT,mev.innerNode.handle(),true,
 			   d->clickCount,_mouse,true,DOM::NodeImpl::MouseRelease);
 
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index a9b15dc..f1f56b4 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -366,8 +366,14 @@ using khtml::RenderPart;
     state |= [self stateForEvent:event];
     
     if (part->impl->view()) {
-        QMouseEvent kEvent(QEvent::MouseButtonRelease, QPoint((int)p.x, (int)p.y), button, state, [event clickCount]);
-        part->impl->view()->viewportMouseReleaseEvent(&kEvent);
+        if ([event clickCount] % 2 == 0){
+            QMouseEvent kEvent(QEvent::MouseButtonDblClick, QPoint((int)p.x, (int)p.y), button, state, [event clickCount]);
+            part->impl->view()->viewportMouseDoubleClickEvent(&kEvent);
+        }
+        else {
+            QMouseEvent kEvent(QEvent::MouseButtonRelease, QPoint((int)p.x, (int)p.y), button, state, [event clickCount]);
+            part->impl->view()->viewportMouseReleaseEvent(&kEvent);
+        }
     }
 }
 
@@ -393,14 +399,8 @@ using khtml::RenderPart;
     state |= [self stateForEvent:event];
     
     if (part->impl->view()) {
-        if ([event clickCount] % 2 == 0){
-            QMouseEvent kEvent(QEvent::MouseButtonDblClick, QPoint((int)p.x, (int)p.y), button, state, [event clickCount]);
-            part->impl->view()->viewportMouseDoubleClickEvent(&kEvent);
-        }
-        else {
-            QMouseEvent kEvent(QEvent::MouseButtonPress, QPoint((int)p.x, (int)p.y), button, state, [event clickCount]);
-            part->impl->view()->viewportMousePressEvent(&kEvent);
-        }
+        QMouseEvent kEvent(QEvent::MouseButtonPress, QPoint((int)p.x, (int)p.y), button, state, [event clickCount]);
+        part->impl->view()->viewportMousePressEvent(&kEvent);
     }
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list