[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