[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
eric at webkit.org
eric at webkit.org
Tue Jan 5 23:47:26 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit ce57823222ecf7256c29e3c7d90cf1607c1e482c
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