Title: [140936] trunk
- Revision
- 140936
- Author
- [email protected]
- Date
- 2013-01-27 18:47:17 -0800 (Sun, 27 Jan 2013)
Log Message
Disabled input/textarea doesn't trigger selection change
https://bugs.webkit.org/show_bug.cgi?id=85244
Reviewed by Ryosuke Niwa.
Source/WebCore:
Only rootEditableNode is there in <input> or <textarea>, 'select' event is fired.
Since readonly or disabled input/textarea element does not have editable element,
'select' event was not fired.
We don't need the check.
Test: fast/forms/input-readonly-select.html
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::notifyRendererOfSelectionChange):
LayoutTests:
* fast/forms/input-readonly-select-expected.txt: Added.
* fast/forms/input-readonly-select.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (140935 => 140936)
--- trunk/LayoutTests/ChangeLog 2013-01-28 02:32:10 UTC (rev 140935)
+++ trunk/LayoutTests/ChangeLog 2013-01-28 02:47:17 UTC (rev 140936)
@@ -1,3 +1,13 @@
+2013-01-27 Shinya Kawanaka <[email protected]>
+
+ Disabled input/textarea doesn't trigger selection change
+ https://bugs.webkit.org/show_bug.cgi?id=85244
+
+ Reviewed by Ryosuke Niwa.
+
+ * fast/forms/input-readonly-select-expected.txt: Added.
+ * fast/forms/input-readonly-select.html: Added.
+
2013-01-27 Sheriff Bot <[email protected]>
Unreviewed, rolling out r140741.
Added: trunk/LayoutTests/fast/forms/input-readonly-select-expected.txt (0 => 140936)
--- trunk/LayoutTests/fast/forms/input-readonly-select-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/forms/input-readonly-select-expected.txt 2013-01-28 02:47:17 UTC (rev 140936)
@@ -0,0 +1,22 @@
+double clicking on normal input
+PASS selectEventFiredOnInput is true
+
+double clicking on readonly input
+PASS selectEventFiredOnReadonlyInput is true
+
+double clicking on disabled input
+PASS selectEventFiredOnDisabledInput is true
+
+double clicking on normal textarea
+PASS selectEventFiredOnTextarea is true
+
+double clicking on readonly textarea
+PASS selectEventFiredOnReadonlyTextarea is true
+
+double clicking on disabled textarea
+PASS selectEventFiredOnDisabledTextarea is true
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/fast/forms/input-readonly-select.html (0 => 140936)
--- trunk/LayoutTests/fast/forms/input-readonly-select.html (rev 0)
+++ trunk/LayoutTests/fast/forms/input-readonly-select.html 2013-01-28 02:47:17 UTC (rev 140936)
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html><body>
+<script src=""
+
+<div id="container">
+ <input id="input" type="text" value="something">
+ <input id="readonlyInput" type="text" readonly value="something">
+ <input id="disabledInput" type="text" disabled value="something">
+
+ <textarea id="textarea">something</textarea>
+ <textarea id="readonlyTextarea" readonly>something</textarea>
+ <textarea id="disabledTextarea" disabled>something</textarea>
+</div>
+<pre id="console"></pre>
+
+<script>
+function doubleClickOn(element)
+{
+ var x = element.offsetLeft + element.offsetWidth / 2;
+ var y = element.offsetTop + element.offsetHeight / 2;
+
+ eventSender.mouseMoveTo(x, y);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+}
+
+var selectEventFiredOnInput = false;
+var selectEventFiredOnReadonlyInput = false;
+var selectEventFiredOnDisabledInput = false;
+var selectEventFiredOnTextarea = false;
+var selectEventFiredOnReadonlyTextarea = false;
+var selectEventFiredOnDisabledTextarea = false;
+
+input.addEventListener('select', function() {
+ selectEventFiredOnInput = true;
+});
+readonlyInput.addEventListener('select', function() {
+ selectEventFiredOnReadonlyInput = true;
+});
+disabledInput.addEventListener('select', function() {
+ selectEventFiredOnDisabledInput = true;
+});
+
+textarea.addEventListener('select', function() {
+ selectEventFiredOnTextarea = true;
+});
+readonlyTextarea.addEventListener('select', function() {
+ selectEventFiredOnReadonlyTextarea = true;
+});
+disabledTextarea.addEventListener('select', function() {
+ selectEventFiredOnDisabledTextarea = true;
+});
+
+debug('double clicking on normal input');
+doubleClickOn(input);
+shouldBeTrue('selectEventFiredOnInput');
+debug('');
+
+debug('double clicking on readonly input');
+doubleClickOn(readonlyInput);
+shouldBeTrue('selectEventFiredOnReadonlyInput');
+debug('');
+
+debug('double clicking on disabled input');
+doubleClickOn(disabledInput);
+shouldBeTrue('selectEventFiredOnDisabledInput');
+debug('');
+
+debug('double clicking on normal textarea');
+doubleClickOn(textarea);
+shouldBeTrue('selectEventFiredOnTextarea');
+debug('');
+
+debug('double clicking on readonly textarea');
+doubleClickOn(readonlyTextarea);
+shouldBeTrue('selectEventFiredOnReadonlyTextarea');
+debug('');
+
+debug('double clicking on disabled textarea');
+doubleClickOn(disabledTextarea);
+shouldBeTrue('selectEventFiredOnDisabledTextarea');
+debug('');
+
+container.innerHTML = "";
+</script>
+
+<script src=""
+</body></html>
Modified: trunk/Source/WebCore/ChangeLog (140935 => 140936)
--- trunk/Source/WebCore/ChangeLog 2013-01-28 02:32:10 UTC (rev 140935)
+++ trunk/Source/WebCore/ChangeLog 2013-01-28 02:47:17 UTC (rev 140936)
@@ -1,3 +1,21 @@
+2013-01-27 Shinya Kawanaka <[email protected]>
+
+ Disabled input/textarea doesn't trigger selection change
+ https://bugs.webkit.org/show_bug.cgi?id=85244
+
+ Reviewed by Ryosuke Niwa.
+
+ Only rootEditableNode is there in <input> or <textarea>, 'select' event is fired.
+ Since readonly or disabled input/textarea element does not have editable element,
+ 'select' event was not fired.
+
+ We don't need the check.
+
+ Test: fast/forms/input-readonly-select.html
+
+ * editing/FrameSelection.cpp:
+ (WebCore::FrameSelection::notifyRendererOfSelectionChange):
+
2013-01-27 Keishi Hattori <[email protected]>
Unreviewed, rolling out r140850.
Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (140935 => 140936)
--- trunk/Source/WebCore/editing/FrameSelection.cpp 2013-01-28 02:32:10 UTC (rev 140935)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp 2013-01-28 02:47:17 UTC (rev 140936)
@@ -1830,9 +1830,6 @@
{
m_frame->document()->updateStyleIfNeeded();
- if (!rootEditableElement())
- return;
-
if (HTMLTextFormControlElement* textControl = enclosingTextFormControl(start()))
textControl->selectionChanged(userTriggered == UserTriggered);
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes