[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

aroben at apple.com aroben at apple.com
Wed Dec 22 18:37:40 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit edaaa215765dd2ba1c0eca6d425e45389b3c2dbd
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 14 21:06:24 2010 +0000

    Always record the last-set cursor, even when the UI delegate is setting the cursor for us
    
    Prior to r63339, the last-set cursor was recorded in Widget::setCursor.
    r63339 moved that code up to WebChromeClient, but failed to call it
    when the UI delegate was the one setting the cursor.
    
    Fixes <http://webkit.org/b/45692> <rdar://problem/8423464> REGRESSION
    (r63339): Mouse cursor disappears when holding mouse button down on
    page
    
    Reviewed by Ada Chan.
    
    * WebCoreSupport/WebChromeClient.cpp:
    (WebChromeClient::setCursor): After the cursor is set, regardless of
    whether the UI delegate sets it or we set it, record the cursor that
    was just set. That way we'll be able to use the cursor later when
    responding to the WM_SETCURSOR message.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 1cca717..efed31a 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,24 @@
+2010-12-14  Adam Roben  <aroben at apple.com>
+
+        Always record the last-set cursor, even when the UI delegate is
+        setting the cursor for us
+
+        Prior to r63339, the last-set cursor was recorded in Widget::setCursor.
+        r63339 moved that code up to WebChromeClient, but failed to call it
+        when the UI delegate was the one setting the cursor.
+
+        Fixes <http://webkit.org/b/45692> <rdar://problem/8423464> REGRESSION
+        (r63339): Mouse cursor disappears when holding mouse button down on
+        page
+
+        Reviewed by Ada Chan.
+
+        * WebCoreSupport/WebChromeClient.cpp:
+        (WebChromeClient::setCursor): After the cursor is set, regardless of
+        whether the UI delegate sets it or we set it, record the cursor that
+        was just set. That way we'll be able to use the cursor later when
+        responding to the WM_SETCURSOR message.
+
 2010-12-13  Alexey Proskuryakov  <ap at apple.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index 884d4dc..9bc4799 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -797,17 +797,19 @@ void WebChromeClient::setCursor(const Cursor& cursor)
     if (!platformCursor)
         return;
 
+    bool shouldSetCursor = true;
     if (COMPtr<IWebUIDelegate> delegate = uiDelegate()) {
         COMPtr<IWebUIDelegatePrivate> delegatePrivate(Query, delegate);
         if (delegatePrivate) {
             if (SUCCEEDED(delegatePrivate->webViewSetCursor(m_webView, reinterpret_cast<OLE_HANDLE>(platformCursor))))
-                return;
+                shouldSetCursor = false;
         }
     }
 
-    m_webView->setLastCursor(platformCursor);
-    ::SetCursor(platformCursor);
-    return;
+    if (shouldSetCursor)
+        ::SetCursor(platformCursor);
+
+    setLastSetCursorToCurrentCursor();
 }
 
 void WebChromeClient::setLastSetCursorToCurrentCursor()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list