Title: [150102] trunk/Source/WebCore
- Revision
- 150102
- Author
- [email protected]
- Date
- 2013-05-14 23:42:25 -0700 (Tue, 14 May 2013)
Log Message
REGRESSION(r147548): Broken comboboxes
https://bugs.webkit.org/show_bug.cgi?id=115475
Reviewed by Gustavo Noronha Silva.
The problem is that r147548 made the popup to be closed when a
blur event is received. Right before showing the popup the input
element is focused, so that after the the popup is shown the focus
event is emitted and the event handler is called again hiding the
popup.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Check
element has lost the focus before closing the popup menu.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (150101 => 150102)
--- trunk/Source/WebCore/ChangeLog 2013-05-15 04:35:26 UTC (rev 150101)
+++ trunk/Source/WebCore/ChangeLog 2013-05-15 06:42:25 UTC (rev 150102)
@@ -1,3 +1,20 @@
+2013-05-14 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r147548): Broken comboboxes
+ https://bugs.webkit.org/show_bug.cgi?id=115475
+
+ Reviewed by Gustavo Noronha Silva.
+
+ The problem is that r147548 made the popup to be closed when a
+ blur event is received. Right before showing the popup the input
+ element is focused, so that after the the popup is shown the focus
+ event is emitted and the event handler is called again hiding the
+ popup.
+
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Check
+ element has lost the focus before closing the popup menu.
+
2013-05-14 Darin Adler <[email protected]>
[Mac] Move setDragImage from ClipboardMac to PasteboardMac
Modified: trunk/Source/WebCore/html/HTMLSelectElement.cpp (150101 => 150102)
--- trunk/Source/WebCore/html/HTMLSelectElement.cpp 2013-05-15 04:35:26 UTC (rev 150101)
+++ trunk/Source/WebCore/html/HTMLSelectElement.cpp 2013-05-15 06:42:25 UTC (rev 150102)
@@ -1237,7 +1237,7 @@
event->setDefaultHandled();
}
- if (event->type() == eventNames().blurEvent) {
+ if (event->type() == eventNames().blurEvent && !focused()) {
if (RenderMenuList* menuList = toRenderMenuList(renderer())) {
if (menuList->popupIsVisible())
menuList->hidePopup();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes