[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
dglazkov at chromium.org
dglazkov at chromium.org
Wed Dec 22 17:59:25 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 99bb62b0b7e017b8fcdaf41abe39a02f42375214
Author: dglazkov at chromium.org <dglazkov at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Dec 4 00:11:49 2010 +0000
2010-12-03 Dimitri Glazkov <dglazkov at chromium.org>
Reviewed by Darin Adler.
REGRESSION(r71934): input event fires twice when editing text inside a text input.
https://bugs.webkit.org/show_bug.cgi?id=50477
* fast/forms/text-input-event-expected.txt: Added.
* fast/forms/text-input-event.html: Added.
2010-12-03 Dimitri Glazkov <dglazkov at chromium.org>
Reviewed by Darin Adler.
REGRESSION(r71934): input event fires twice when editing text inside a text input.
https://bugs.webkit.org/show_bug.cgi?id=50477
Now that events escape the shadow DOM boundary, the input event is fired twice
for each input, once triggered by editing, once triggered by value change.
Test: fast/forms/text-input-event.html
* dom/InputElement.cpp:
(WebCore::InputElement::setValueFromRenderer): Added a check to ensure editable fields
don't fire an extra input event.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 688677c..918c86f 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-12-03 Dimitri Glazkov <dglazkov at chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r71934): input event fires twice when editing text inside a text input.
+ https://bugs.webkit.org/show_bug.cgi?id=50477
+
+ * fast/forms/text-input-event-expected.txt: Added.
+ * fast/forms/text-input-event.html: Added.
+
2010-12-03 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r73302.
diff --git a/LayoutTests/fast/forms/text-input-event-expected.txt b/LayoutTests/fast/forms/text-input-event-expected.txt
new file mode 100644
index 0000000..2bb1299
--- /dev/null
+++ b/LayoutTests/fast/forms/text-input-event-expected.txt
@@ -0,0 +1,2 @@
+
+Input event should fire once per actual input: PASS
diff --git a/LayoutTests/fast/forms/text-input-event.html b/LayoutTests/fast/forms/text-input-event.html
new file mode 100644
index 0000000..ddd3bd7
--- /dev/null
+++ b/LayoutTests/fast/forms/text-input-event.html
@@ -0,0 +1,43 @@
+<html>
+<head>
+<script>
+
+var logDiv;
+
+function log(msg, success)
+{
+ logDiv.appendChild(document.createElement('div')).textContent = msg + ': ' + (success ? 'PASS' : 'FAIL');
+}
+
+function typeInto(element, value)
+{
+ if (!window.eventSender)
+ return;
+
+ element.focus();
+ eventSender.keyDown(value, []);
+}
+
+function runTest()
+{
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+ logDiv = document.getElementById('log');
+ var input = document.getElementsByTagName('input')[0];
+ var count = 0;
+ input.addEventListener('input', function()
+ {
+ count++;
+ }, false);
+ typeInto(input, 'x');
+ log('Input event should fire once per actual input', count == 1);
+}
+
+</script>
+</head>
+<body onload="runTest()">
+ <input>
+ <div id="log"></div>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 564702f..00923a5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-12-03 Dimitri Glazkov <dglazkov at chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r71934): input event fires twice when editing text inside a text input.
+ https://bugs.webkit.org/show_bug.cgi?id=50477
+
+ Now that events escape the shadow DOM boundary, the input event is fired twice
+ for each input, once triggered by editing, once triggered by value change.
+
+ Test: fast/forms/text-input-event.html
+
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::setValueFromRenderer): Added a check to ensure editable fields
+ don't fire an extra input event.
+
2010-12-03 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r73302.
diff --git a/WebCore/dom/InputElement.cpp b/WebCore/dom/InputElement.cpp
index 85f37e1..37211d8 100644
--- a/WebCore/dom/InputElement.cpp
+++ b/WebCore/dom/InputElement.cpp
@@ -138,7 +138,9 @@ void InputElement::setValueFromRenderer(InputElementData& data, InputElement* in
element->setFormControlValueMatchesRenderer(true);
- element->dispatchEvent(Event::create(eventNames().inputEvent, true, false));
+ // Input event is fired by the Node::defaultEventHandler for editable controls.
+ if (!inputElement->isTextField())
+ element->dispatchEvent(Event::create(eventNames().inputEvent, true, false));
notifyFormStateChanged(element);
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list