[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