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

andersca at apple.com andersca at apple.com
Wed Dec 22 14:44:16 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit b23a7a13dc168b16c4aa20d174b80235663a85b7
Author: andersca at apple.com <andersca at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 18 22:40:38 2010 +0000

    WebKit2 should handle dismissing the Find overlay on mouse-down
    https://bugs.webkit.org/show_bug.cgi?id=47854
    
    Reviewed by John Sullivan.
    
    * WebProcess/WebPage/FindPageOverlay.cpp:
    (WebKit::FindPageOverlay::mouseEvent):
    Dismiss the find UI on MouseDown.
    
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::mouseEvent):
    If there's a page overlay, let it have a go at the event.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 0cba862..df065b2 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,20 @@
 2010-10-18  Anders Carlsson  <andersca at apple.com>
 
+        Reviewed by John Sullivan.
+
+        WebKit2 should handle dismissing the Find overlay on mouse-down
+        https://bugs.webkit.org/show_bug.cgi?id=47854
+
+        * WebProcess/WebPage/FindPageOverlay.cpp:
+        (WebKit::FindPageOverlay::mouseEvent):
+        Dismiss the find UI on MouseDown.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::mouseEvent):
+        If there's a page overlay, let it have a go at the event.
+
+2010-10-18  Anders Carlsson  <andersca at apple.com>
+
         Fix clang build.
 
         * UIProcess/API/mac/FindIndicatorWindow.mm:
diff --git a/WebKit2/WebProcess/WebPage/FindPageOverlay.cpp b/WebKit2/WebProcess/WebPage/FindPageOverlay.cpp
index e4e0b96..d6fee6c 100644
--- a/WebKit2/WebProcess/WebPage/FindPageOverlay.cpp
+++ b/WebKit2/WebProcess/WebPage/FindPageOverlay.cpp
@@ -140,4 +140,15 @@ void FindPageOverlay::drawRect(GraphicsContext& graphicsContext, const IntRect&
     graphicsContext.endTransparencyLayer();
 }
 
+bool FindPageOverlay::mouseEvent(const WebMouseEvent& event)
+{
+    if (event.type() == WebEvent::MouseDown) {
+        // Dismiss the overlay.
+        m_findController->hideFindUI();
+        return false;
+    }
+
+    return false;
+}
+
 } // namespace WebKit
diff --git a/WebKit2/WebProcess/WebPage/FindPageOverlay.h b/WebKit2/WebProcess/WebPage/FindPageOverlay.h
index f5be864..72fb1b4 100644
--- a/WebKit2/WebProcess/WebPage/FindPageOverlay.h
+++ b/WebKit2/WebProcess/WebPage/FindPageOverlay.h
@@ -46,6 +46,7 @@ private:
 
     // PageOverlay.
     virtual void drawRect(WebCore::GraphicsContext&, const WebCore::IntRect& dirtyRect);
+    virtual bool mouseEvent(const WebMouseEvent&);
 
     FindController* m_findController;
 };
diff --git a/WebKit2/WebProcess/WebPage/PageOverlay.h b/WebKit2/WebProcess/WebPage/PageOverlay.h
index 9844c3a..02fde45 100644
--- a/WebKit2/WebProcess/WebPage/PageOverlay.h
+++ b/WebKit2/WebProcess/WebPage/PageOverlay.h
@@ -35,6 +35,7 @@ namespace WebCore {
 
 namespace WebKit {
 
+class WebMouseEvent;
 class WebPage;
 
 class PageOverlay {
@@ -43,7 +44,8 @@ class PageOverlay {
 public:
     virtual ~PageOverlay();
     virtual void drawRect(WebCore::GraphicsContext&, const WebCore::IntRect& dirtyRect) = 0;
-    
+    virtual bool mouseEvent(const WebMouseEvent&) = 0;
+
     void setPage(WebPage*);
     void setNeedsDisplay();
 
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 9d669be..516ef78 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -493,9 +493,19 @@ static bool handleMouseEvent(const WebMouseEvent& mouseEvent, Page* page)
 
 void WebPage::mouseEvent(const WebMouseEvent& mouseEvent)
 {
-    CurrentEvent currentEvent(mouseEvent);
+    bool handled = false;
+    
+    if (m_pageOverlay) {
+        // Let the page overlay handle the event.
+        handled = m_pageOverlay->mouseEvent(mouseEvent);
+    }
+
+    if (!handled) {
+        CurrentEvent currentEvent(mouseEvent);
+
+        handled = handleMouseEvent(mouseEvent, m_page.get());
+    }
 
-    bool handled = handleMouseEvent(mouseEvent, m_page.get());
     WebProcess::shared().connection()->send(Messages::WebPageProxy::DidReceiveEvent(static_cast<uint32_t>(mouseEvent.type()), handled), m_pageID);
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list