[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
tkent at chromium.org
tkent at chromium.org
Wed Dec 22 11:25:32 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 84ccf7e9059846082c99a1eda55ca613f9802b66
Author: tkent at chromium.org <tkent at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jul 23 00:43:29 2010 +0000
2010-07-22 Kent Tamura <tkent at chromium.org>
Reviewed by Ojan Vafai.
Cancel button of search input field should fire input/change events
https://bugs.webkit.org/show_bug.cgi?id=34393
* fast/forms/script-tests/search-cancel-button-events.js: Added.
* fast/forms/search-cancel-button-events-expected.txt: Added.
* fast/forms/search-cancel-button-events.html: Added.
2010-07-22 Kent Tamura <tkent at chromium.org>
Reviewed by Ojan Vafai.
Cancel button of search input field should fire input/change events
https://bugs.webkit.org/show_bug.cgi?id=34393
Test: fast/forms/search-cancel-button-events.html
* rendering/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 511b6b0..4d4eed6 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -2,6 +2,17 @@
Reviewed by Ojan Vafai.
+ Cancel button of search input field should fire input/change events
+ https://bugs.webkit.org/show_bug.cgi?id=34393
+
+ * fast/forms/script-tests/search-cancel-button-events.js: Added.
+ * fast/forms/search-cancel-button-events-expected.txt: Added.
+ * fast/forms/search-cancel-button-events.html: Added.
+
+2010-07-22 Kent Tamura <tkent at chromium.org>
+
+ Reviewed by Ojan Vafai.
+
<input type=number> stepper buttons should dispatch input/change events
https://bugs.webkit.org/show_bug.cgi?id=42440
diff --git a/LayoutTests/fast/forms/script-tests/search-cancel-button-events.js b/LayoutTests/fast/forms/script-tests/search-cancel-button-events.js
new file mode 100644
index 0000000..f3c5857
--- /dev/null
+++ b/LayoutTests/fast/forms/script-tests/search-cancel-button-events.js
@@ -0,0 +1,37 @@
+description('Test for event dipatching by search cancel button.');
+
+var parent = document.createElement('div');
+document.body.appendChild(parent);
+parent.innerHTML = '<input type=search id=search value=foo><input id=another>';
+var search = document.getElementById('search');
+var anotherInput = document.getElementById('another');
+var inputEventCounter = 0;
+var changeEventCounter = 0;
+
+search.onchange = function() { changeEventCounter++; };
+search.oninput = function() { inputEventCounter++; };
+
+if (window.eventSender) {
+ debug('Initial state');
+ shouldBe('changeEventCounter', '0');
+ shouldBe('inputEventCounter', '0');
+
+ debug('Click the cancel button');
+ eventSender.mouseMoveTo(search.offsetLeft + search.offsetWidth - 8, search.offsetTop + search.offsetHeight / 2);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ shouldBe('search.value', '""');
+ shouldBe('changeEventCounter', '0');
+ shouldBe('inputEventCounter', '1');
+
+ debug('Focus on another field');
+ anotherInput.focus();
+ shouldBe('changeEventCounter', '1');
+ shouldBe('inputEventCounter', '1');
+
+ parent.innerHTML = '';
+} else {
+ document.getElementById('console').innerHTML = 'No eventSender';
+}
+
+var successfullyParsed = true;
diff --git a/LayoutTests/fast/forms/search-cancel-button-events-expected.txt b/LayoutTests/fast/forms/search-cancel-button-events-expected.txt
new file mode 100644
index 0000000..fe7779c
--- /dev/null
+++ b/LayoutTests/fast/forms/search-cancel-button-events-expected.txt
@@ -0,0 +1,19 @@
+Test for event dipatching by search cancel button.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Initial state
+PASS changeEventCounter is 0
+PASS inputEventCounter is 0
+Click the cancel button
+PASS search.value is ""
+PASS changeEventCounter is 0
+PASS inputEventCounter is 1
+Focus on another field
+PASS changeEventCounter is 1
+PASS inputEventCounter is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/forms/search-cancel-button-events.html b/LayoutTests/fast/forms/search-cancel-button-events.html
new file mode 100644
index 0000000..8030343
--- /dev/null
+++ b/LayoutTests/fast/forms/search-cancel-button-events.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/search-cancel-button-events.js"></script>
+<script src="../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ec6815a..4af3608 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-07-22 Kent Tamura <tkent at chromium.org>
+
+ Reviewed by Ojan Vafai.
+
+ Cancel button of search input field should fire input/change events
+ https://bugs.webkit.org/show_bug.cgi?id=34393
+
+ Test: fast/forms/search-cancel-button-events.html
+
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
+
2010-07-22 Sam Weinig <sam at webkit.org>
Reviewed by Maciej Stachowiak.
diff --git a/WebCore/rendering/TextControlInnerElements.cpp b/WebCore/rendering/TextControlInnerElements.cpp
index 24e1d74..c0effc8 100644
--- a/WebCore/rendering/TextControlInnerElements.cpp
+++ b/WebCore/rendering/TextControlInnerElements.cpp
@@ -232,7 +232,13 @@ void SearchFieldCancelButtonElement::defaultEventHandler(Event* event)
m_capturing = false;
}
if (hovered()) {
+ RefPtr<HTMLInputElement> protector(input);
+ String oldValue = input->value();
input->setValue("");
+ if (!oldValue.isEmpty()) {
+ toRenderTextControl(input->renderer())->setChangedSinceLastChangeEvent(true);
+ input->dispatchEvent(Event::create(eventNames().inputEvent, true, false));
+ }
input->onSearch();
event->setDefaultHandled();
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list