[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
commit-queue at webkit.org
commit-queue at webkit.org
Sun Feb 20 23:45:56 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit ada816be4b62699119762cea80153094a423910c
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 25 01:36:51 2011 +0000
2011-01-24 Peter Kasting <pkasting at google.com>
Reviewed by Darin Adler.
Roll back r67261 ("Don't fire onclick on middle clicks") due to
regressions.
https://bugs.webkit.org/show_bug.cgi?id=46733
* fast/events/mouse-click-events-expected.txt:
* fast/events/script-tests/mouse-click-events.js:
2011-01-24 Peter Kasting <pkasting at google.com>
Reviewed by Darin Adler.
Roll back r67261 ("Don't fire onclick on middle clicks") due to
regressions.
https://bugs.webkit.org/show_bug.cgi?id=46733
* html/HTMLAnchorElement.cpp:
(WebCore::isLinkClick):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::preDispatchEventHandler):
(WebCore::HTMLInputElement::postDispatchEventHandler):
(WebCore::HTMLInputElement::defaultEventHandler):
* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 99ee6f2..f991949 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2011-01-24 Peter Kasting <pkasting at google.com>
+
+ Reviewed by Darin Adler.
+
+ Roll back r67261 ("Don't fire onclick on middle clicks") due to
+ regressions.
+ https://bugs.webkit.org/show_bug.cgi?id=46733
+
+ * fast/events/mouse-click-events-expected.txt:
+ * fast/events/script-tests/mouse-click-events.js:
+
2011-01-24 Xiaomei Ji <xji at chromium.org>
Unreviewed.
diff --git a/LayoutTests/fast/events/mouse-click-events-expected.txt b/LayoutTests/fast/events/mouse-click-events-expected.txt
index 6aea661..a62adae 100644
--- a/LayoutTests/fast/events/mouse-click-events-expected.txt
+++ b/LayoutTests/fast/events/mouse-click-events-expected.txt
@@ -6,11 +6,11 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
Left Mouse Button
PASS eventLog is "mousedown(0) mouseup(0) click(0) mousedown(0) mouseup(0) click(0) dblclick(0) "
Middle Mouse Button
-PASS eventLog is "mousedown(1) mouseup(1) mousedown(1) mouseup(1) "
+PASS eventLog is "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) "
Right Mouse Button
PASS eventLog is "mousedown(2) mouseup(2) mousedown(2) mouseup(2) "
4th Mouse Button
-PASS eventLog is "mousedown(1) mouseup(1) mousedown(1) mouseup(1) "
+PASS eventLog is "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) "
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/fast/events/script-tests/mouse-click-events.js b/LayoutTests/fast/events/script-tests/mouse-click-events.js
index f6d59c7..72a341b 100644
--- a/LayoutTests/fast/events/script-tests/mouse-click-events.js
+++ b/LayoutTests/fast/events/script-tests/mouse-click-events.js
@@ -49,9 +49,9 @@ function testEvents(description, button, expectedString) {
if (window.eventSender) {
testEvents("Left Mouse Button", 0, "mousedown(0) mouseup(0) click(0) mousedown(0) mouseup(0) click(0) dblclick(0) ");
- testEvents("Middle Mouse Button", 1, "mousedown(1) mouseup(1) mousedown(1) mouseup(1) ");
+ testEvents("Middle Mouse Button", 1, "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) ");
testEvents("Right Mouse Button", 2, "mousedown(2) mouseup(2) mousedown(2) mouseup(2) ");
- testEvents("4th Mouse Button", 3, "mousedown(1) mouseup(1) mousedown(1) mouseup(1) ");
+ testEvents("4th Mouse Button", 3, "mousedown(1) mouseup(1) click(1) mousedown(1) mouseup(1) click(1) dblclick(1) ");
}
var successfullyParsed = true;
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 2a1704c..d16f7f4 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2011-01-24 Peter Kasting <pkasting at google.com>
+
+ Reviewed by Darin Adler.
+
+ Roll back r67261 ("Don't fire onclick on middle clicks") due to
+ regressions.
+ https://bugs.webkit.org/show_bug.cgi?id=46733
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::isLinkClick):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::preDispatchEventHandler):
+ (WebCore::HTMLInputElement::postDispatchEventHandler):
+ (WebCore::HTMLInputElement::defaultEventHandler):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseDoubleClickEvent):
+ (WebCore::EventHandler::handleMouseReleaseEvent):
+
2011-01-24 Martin Robinson <mrobinson at igalia.com>
Reviewed by Eric Seidel.
diff --git a/Source/WebCore/html/HTMLAnchorElement.cpp b/Source/WebCore/html/HTMLAnchorElement.cpp
index dcdde28..deeade4 100644
--- a/Source/WebCore/html/HTMLAnchorElement.cpp
+++ b/Source/WebCore/html/HTMLAnchorElement.cpp
@@ -541,7 +541,7 @@ bool isMiddleMouseButtonEvent(Event* event)
bool isLinkClick(Event* event)
{
- return event->type() == eventNames().clickEvent || (event->type() == eventNames().mouseupEvent && isMiddleMouseButtonEvent(event));
+ return event->type() == eventNames().clickEvent && (!event->isMouseEvent() || static_cast<MouseEvent*>(event)->button() != RightButton);
}
void handleLinkClick(Event* event, Document* document, const String& url, const String& target, bool hideReferrer)
diff --git a/Source/WebCore/html/HTMLInputElement.cpp b/Source/WebCore/html/HTMLInputElement.cpp
index 673add5..ac64e96 100644
--- a/Source/WebCore/html/HTMLInputElement.cpp
+++ b/Source/WebCore/html/HTMLInputElement.cpp
@@ -45,6 +45,7 @@
#include "KeyboardEvent.h"
#include "LocalizedStrings.h"
#include "MouseEvent.h"
+#include "PlatformMouseEvent.h"
#include "RenderTextControlSingleLine.h"
#include "RenderTheme.h"
#include "RuntimeEnabledFeatures.h"
@@ -942,6 +943,8 @@ void* HTMLInputElement::preDispatchEventHandler(Event* event)
{
if (event->type() != eventNames().clickEvent)
return 0;
+ if (!event->isMouseEvent() || static_cast<MouseEvent*>(event)->button() != LeftButton)
+ return 0;
// FIXME: Check whether there are any cases where this actually ends up leaking.
return m_inputType->willDispatchClick().leakPtr();
}
@@ -949,8 +952,6 @@ void* HTMLInputElement::preDispatchEventHandler(Event* event)
void HTMLInputElement::postDispatchEventHandler(Event* event, void* dataFromPreDispatch)
{
OwnPtr<ClickHandlingState> state = adoptPtr(static_cast<ClickHandlingState*>(dataFromPreDispatch));
- if (event->type() != eventNames().clickEvent)
- return;
if (!state)
return;
m_inputType->didDispatchClick(event, *state);
@@ -958,7 +959,7 @@ void HTMLInputElement::postDispatchEventHandler(Event* event, void* dataFromPreD
void HTMLInputElement::defaultEventHandler(Event* evt)
{
- if (evt->isMouseEvent() && evt->type() == eventNames().clickEvent) {
+ if (evt->isMouseEvent() && evt->type() == eventNames().clickEvent && static_cast<MouseEvent*>(evt)->button() == LeftButton) {
m_inputType->handleClickEvent(static_cast<MouseEvent*>(evt));
if (evt->defaultHandled())
return;
diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp
index 54c87e0..8cc8626 100644
--- a/Source/WebCore/page/EventHandler.cpp
+++ b/Source/WebCore/page/EventHandler.cpp
@@ -1422,7 +1422,7 @@ bool EventHandler::handleMouseDoubleClickEvent(const PlatformMouseEvent& mouseEv
m_clickCount = mouseEvent.clickCount();
bool swallowMouseUpEvent = dispatchMouseEvent(eventNames().mouseupEvent, mev.targetNode(), true, m_clickCount, mouseEvent, false);
- bool swallowClickEvent = mouseEvent.button() == LeftButton && mev.targetNode() == m_clickNode && dispatchMouseEvent(eventNames().clickEvent, mev.targetNode(), true, m_clickCount, mouseEvent, true);
+ bool swallowClickEvent = mouseEvent.button() != RightButton && mev.targetNode() == m_clickNode && dispatchMouseEvent(eventNames().clickEvent, mev.targetNode(), true, m_clickCount, mouseEvent, true);
if (m_lastScrollbarUnderMouse)
swallowMouseUpEvent = m_lastScrollbarUnderMouse->mouseUp();
@@ -1613,7 +1613,7 @@ bool EventHandler::handleMouseReleaseEvent(const PlatformMouseEvent& mouseEvent)
bool swallowMouseUpEvent = dispatchMouseEvent(eventNames().mouseupEvent, mev.targetNode(), true, m_clickCount, mouseEvent, false);
- bool swallowClickEvent = m_clickCount > 0 && mouseEvent.button() == LeftButton && mev.targetNode() == m_clickNode && dispatchMouseEvent(eventNames().clickEvent, mev.targetNode(), true, m_clickCount, mouseEvent, true);
+ bool swallowClickEvent = m_clickCount > 0 && mouseEvent.button() != RightButton && mev.targetNode() == m_clickNode && dispatchMouseEvent(eventNames().clickEvent, mev.targetNode(), true, m_clickCount, mouseEvent, true);
if (m_resizeLayer) {
m_resizeLayer->setInResizeMode(false);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list