[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:32:53 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b3b05b53e4fcab4ba0c05c76dbaae68c04535858
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Dec 11 18:03:42 2009 +0000

    2009-12-11  Victor Wang  <victorw at chromium.org>
    
            Reviewed by Darin Fisher.
    
            Changed PopupMenuChromium to keep the value selected from
            keyboard when popup is closed.
    
            The problem is Chromium does not fire the onchange event
            when the popup is closed if an item is selected via
            keyboard by typing the first char of the item. This makes
            chromium popup not having consistent behaviours and also
            behaves differently from other major browsers.
            Calling popup->hide() instead of popup->hidePopup() in
            PopupMenu fixes the issues as it does extra step to check
            whethere there is a keyboard selection changed when closing
            the popup.
    
            https://bugs.webkit.org/show_bug.cgi?id=32403
    
            TEST: add a manual test as the current layout test shell
            does not support sending keyboard events to popup list.
    
            * manual-tests/chromium/select-close-popup-value-change.html: Added.
            * platform/chromium/PopupMenuChromium.cpp:
            (WebCore::PopupMenu::hide):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 90371d0..4d3f33d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2009-12-11  Victor Wang  <victorw at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        Changed PopupMenuChromium to keep the value selected from
+        keyboard when popup is closed.
+
+        The problem is Chromium does not fire the onchange event
+        when the popup is closed if an item is selected via
+        keyboard by typing the first char of the item. This makes
+        chromium popup not having consistent behaviours and also
+        behaves differently from other major browsers.
+        Calling popup->hide() instead of popup->hidePopup() in
+        PopupMenu fixes the issues as it does extra step to check
+        whethere there is a keyboard selection changed when closing
+        the popup.
+
+        https://bugs.webkit.org/show_bug.cgi?id=32403
+    
+        TEST: add a manual test as the current layout test shell
+        does not support sending keyboard events to popup list.
+
+        * manual-tests/chromium/select-close-popup-value-change.html: Added.
+        * platform/chromium/PopupMenuChromium.cpp:
+        (WebCore::PopupMenu::hide):
+
 2009-12-11  anton muhin  <antonm at chromium.org>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/manual-tests/chromium/select-close-popup-value-change.html b/WebCore/manual-tests/chromium/select-close-popup-value-change.html
new file mode 100644
index 0000000..f2adf61
--- /dev/null
+++ b/WebCore/manual-tests/chromium/select-close-popup-value-change.html
@@ -0,0 +1,20 @@
+<html>
+<head>
+</head>
+<body>
+    <p>Do the following, the test passes if the select keeps the selected value after step 4, fails if the value reverted.</p>
+    <ul>
+        <li>1. Click the select to open the popup list.</li> 
+        <li>2. Use keyboard to select a value by pressing the first letter of the value.</li> 
+        <li>3. Click the select again to close the popup list, it should stay at the value from step 2.</li> 
+        <li>4. Click anywhere else on the page to move the focus out of the select.</li>
+    </ul>
+
+    <select>
+        <option>0</option>
+        <option>1</option>
+        <option>2</option>
+        <option>3</option>
+    </select>
+</body>
+</html>
diff --git a/WebCore/platform/chromium/PopupMenuChromium.cpp b/WebCore/platform/chromium/PopupMenuChromium.cpp
index 5abd364..8de3a48 100644
--- a/WebCore/platform/chromium/PopupMenuChromium.cpp
+++ b/WebCore/platform/chromium/PopupMenuChromium.cpp
@@ -1234,7 +1234,7 @@ void PopupMenu::show(const IntRect& r, FrameView* v, int index)
 void PopupMenu::hide()
 {
     if (p.popup)
-        p.popup->hidePopup();
+        p.popup->hide();
 }
 
 void PopupMenu::updateFromElement()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list