- Revision
- 89004
- Author
- [email protected]
- Date
- 2011-06-15 21:38:26 -0700 (Wed, 15 Jun 2011)
Log Message
2011-06-15 Kent Tamura <[email protected]>
Reviewed by Dimitri Glazkov.
[Chromium][Qt] Some slider clicking tests fail.
https://bugs.webkit.org/show_bug.cgi?id=62683
When we pressed a mouse button on a slider thumb,
SliderThumbElement::startDragging() were called twice.
- From SliderThumbElement::defaultEventHandler(), and
- from RangeInputType::handleMouseDownEvent()
The latter is not needed. We should call setDefaultHandled() correctly.
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled()
* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments.
(WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled()
2011-06-15 Kent Tamura <[email protected]>
Reviewed by Dimitri Glazkov.
[Chromium][Qt] Some slider clicking tests fail.
https://bugs.webkit.org/show_bug.cgi?id=62683
* fast/forms/slider-mouse-events-expected.txt:
* fast/forms/slider-mouse-events.html: Add step=5 to ignore small difference of thumb sizes.
* platform/chromium-win/fast/forms/slider-mouse-events-expected.txt: Removed.
* platform/chromium/test_expectations.txt:
* platform/qt/Skipped: slider-onchange-event.html should pass by this change.
Modified Paths
Removed Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (89003 => 89004)
--- trunk/LayoutTests/ChangeLog 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/LayoutTests/ChangeLog 2011-06-16 04:38:26 UTC (rev 89004)
@@ -1,3 +1,16 @@
+2011-06-15 Kent Tamura <[email protected]>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium][Qt] Some slider clicking tests fail.
+ https://bugs.webkit.org/show_bug.cgi?id=62683
+
+ * fast/forms/slider-mouse-events-expected.txt:
+ * fast/forms/slider-mouse-events.html: Add step=5 to ignore small difference of thumb sizes.
+ * platform/chromium-win/fast/forms/slider-mouse-events-expected.txt: Removed.
+ * platform/chromium/test_expectations.txt:
+ * platform/qt/Skipped: slider-onchange-event.html should pass by this change.
+
2011-06-15 Dirk Pranke <[email protected]>
Unreviewed, whitespace change to force a build.
Modified: trunk/LayoutTests/fast/forms/slider-mouse-events-expected.txt (89003 => 89004)
--- trunk/LayoutTests/fast/forms/slider-mouse-events-expected.txt 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/LayoutTests/fast/forms/slider-mouse-events-expected.txt 2011-06-16 04:38:26 UTC (rev 89004)
@@ -6,11 +6,11 @@
mousemove
input
mouseup
-38
+40
mousemove
mousedown
input
-3
+5
mousemove
input
mouseup
Modified: trunk/LayoutTests/fast/forms/slider-mouse-events.html (89003 => 89004)
--- trunk/LayoutTests/fast/forms/slider-mouse-events.html 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/LayoutTests/fast/forms/slider-mouse-events.html 2011-06-16 04:38:26 UTC (rev 89004)
@@ -31,7 +31,7 @@
</head>
<body _onload_="test()">
This tests that slider controls get mousedown, mousemove, input, and mouseup events and properly set its value.<br>
- <input type="range" id="slider" _onmousedown_="log('mousedown')" _onmouseup_="log('mouseup')" _onmousemove_="log('mousemove')" _oninput_="log('input')" value=0>
+ <input type="range" id="slider" _onmousedown_="log('mousedown')" _onmouseup_="log('mouseup')" _onmousemove_="log('mousemove')" _oninput_="log('input')" value=0 step=5>
<div id="res"></div>
</body>
</html>
Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (89003 => 89004)
--- trunk/LayoutTests/platform/chromium/test_expectations.txt 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt 2011-06-16 04:38:26 UTC (rev 89004)
@@ -3919,11 +3919,6 @@
BUGWK61936 : fast/filesystem/filesystem-no-callback-null-ptr-crash.html = CRASH PASS
BUGABARTH LINUX : svg/text/scaling-font-with-geometric-precision.html = IMAGE PASS
-// REGRESSION(r88757)
-BUGWK62683 WIN LINUX : fast/forms/slider-delete-while-dragging-thumb.html = TEXT
-BUGWK62683 WIN LINUX : fast/forms/slider-mouse-events.html = TEXT
-BUGWK62683 WIN LINUX : fast/forms/slider-onchange-event.html = TEXT
-
BUGCR84157 GPU : plugins/embed-attributes-style.html = IMAGE+TEXT
BUGCR84157 GPU : svg/as-image/svg-as-background-with-relative-size.html = IMAGE+TEXT
BUGCR84157 GPU : svg/custom/embedding-external-svgs.xhtml = IMAGE+TEXT
Deleted: trunk/LayoutTests/platform/chromium-win/fast/forms/slider-mouse-events-expected.txt (89003 => 89004)
--- trunk/LayoutTests/platform/chromium-win/fast/forms/slider-mouse-events-expected.txt 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/LayoutTests/platform/chromium-win/fast/forms/slider-mouse-events-expected.txt 2011-06-16 04:38:26 UTC (rev 89004)
@@ -1,18 +0,0 @@
-This tests that slider controls get mousedown, mousemove, input, and mouseup events and properly set its value.
-
-mousemove
-mousedown
-0
-mousemove
-input
-mouseup
-38
-mousemove
-mousedown
-input
-4
-mousemove
-input
-mouseup
-21
-
Modified: trunk/LayoutTests/platform/qt/Skipped (89003 => 89004)
--- trunk/LayoutTests/platform/qt/Skipped 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/LayoutTests/platform/qt/Skipped 2011-06-16 04:38:26 UTC (rev 89004)
@@ -2533,9 +2533,6 @@
svg/zoom/page/zoom-svg-through-object-with-auto-size.html
http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml
-# REGRESSION(r88757): [Chromium][Qt] Some slider clicking tests fail
-fast/forms/slider-onchange-event.html
-
# New tests introduced in r88307, but fail on Qt
# https://bugs.webkit.org/show_bug.cgi?id=54417
fast/events/touch/touch-gesture-click.html
Modified: trunk/Source/WebCore/ChangeLog (89003 => 89004)
--- trunk/Source/WebCore/ChangeLog 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/Source/WebCore/ChangeLog 2011-06-16 04:38:26 UTC (rev 89004)
@@ -1,3 +1,22 @@
+2011-06-15 Kent Tamura <[email protected]>
+
+ Reviewed by Dimitri Glazkov.
+
+ [Chromium][Qt] Some slider clicking tests fail.
+ https://bugs.webkit.org/show_bug.cgi?id=62683
+
+ When we pressed a mouse button on a slider thumb,
+ SliderThumbElement::startDragging() were called twice.
+ - From SliderThumbElement::defaultEventHandler(), and
+ - from RangeInputType::handleMouseDownEvent()
+ The latter is not needed. We should call setDefaultHandled() correctly.
+
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::handleMouseDownEvent): Calls setDefaultHandled()
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::setPositionFromPoint): Remove FIXME comments.
+ (WebCore::SliderThumbElement::defaultEventHandler): Calls setDefaultHandled()
+
2011-06-15 Adam Barth <[email protected]>
Reviewed by Anders Carlsson.
Modified: trunk/Source/WebCore/html/RangeInputType.cpp (89003 => 89004)
--- trunk/Source/WebCore/html/RangeInputType.cpp 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/Source/WebCore/html/RangeInputType.cpp 2011-06-16 04:38:26 UTC (rev 89004)
@@ -158,6 +158,7 @@
SliderThumbElement* thumb = sliderThumbElementOf(element());
thumb->dragFrom(event->absoluteLocation());
+ event->setDefaultHandled();
}
void RangeInputType::handleKeydownEvent(KeyboardEvent* event)
Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (89003 => 89004)
--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp 2011-06-16 04:37:35 UTC (rev 89003)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp 2011-06-16 04:38:26 UTC (rev 89004)
@@ -225,18 +225,10 @@
IntPoint absoluteSliderContentOrigin = roundedIntPoint(input->renderer()->localToAbsolute());
if (isVertical) {
trackSize = input->renderBox()->contentHeight() - renderBox()->height();
- // FIXME: The following _expression_ assumes the pointer position is
- // always the center of the thumb. If a user presses the mouse button at
- // non-center of the thumb and start moving the pointer, the thumb is
- // forcely adjusted so that the pointer is at the center of the thumb.
position = offset.y() - renderBox()->height() / 2;
currentPosition = absoluteThumbOrigin.y() - absoluteSliderContentOrigin.y();
} else {
trackSize = input->renderBox()->contentWidth() - renderBox()->width();
- // FIXME: The following _expression_ assumes the pointer position is
- // always the center of the thumb. If a user presses the mouse button at
- // non-center of the thumb and start moving the pointer, the thumb is
- // forcely adjusted so that the pointer is at the center of the thumb.
position = offset.x() - renderBox()->width() / 2;
currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin.x();
}
@@ -289,13 +281,16 @@
if (eventType == eventNames().mousedownEvent && isLeftButton) {
startDragging();
+ event->setDefaultHandled();
return;
} else if (eventType == eventNames().mouseupEvent && isLeftButton) {
stopDragging();
+ event->setDefaultHandled();
return;
} else if (eventType == eventNames().mousemoveEvent) {
if (m_inDragMode)
setPositionFromPoint(mouseEvent->absoluteLocation());
+ event->setDefaultHandled();
return;
}