[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
darin at chromium.org
darin at chromium.org
Thu Oct 29 20:32:00 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit 8bfd637885faf47da461b0fd0447880221b0b916
Author: darin at chromium.org <darin at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Sep 22 18:02:48 2009 +0000
2009-09-22 Darin Fisher <darin at chromium.org>
Reviewed by Dimitri Glazkov.
Drop down selects get stuck in the non-visible state and cannot be opened.
https://bugs.webkit.org/show_bug.cgi?id=29645
All paths that lead to hiding the popup menu must call popupDidHide on
the PopupMenuClient. This change makes it so by moving all of the
hiding logic to PopupListBox::hidePopup.
* platform/chromium/PopupMenuChromium.cpp:
(WebCore::PopupContainer::hidePopup):
(WebCore::PopupListBox::hidePopup):
* platform/chromium/PopupMenuChromium.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index fa1ccf8..df80d3d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2009-09-22 Darin Fisher <darin at chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Drop down selects get stuck in the non-visible state and cannot be opened.
+ https://bugs.webkit.org/show_bug.cgi?id=29645
+
+ All paths that lead to hiding the popup menu must call popupDidHide on
+ the PopupMenuClient. This change makes it so by moving all of the
+ hiding logic to PopupListBox::hidePopup.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupContainer::hidePopup):
+ (WebCore::PopupListBox::hidePopup):
+ * platform/chromium/PopupMenuChromium.h:
+
2009-09-22 Patrick Mueller <Patrick_Mueller at us.ibm.com>
Reviewed by Timothy Hatcher.
diff --git a/WebCore/platform/chromium/PopupMenuChromium.cpp b/WebCore/platform/chromium/PopupMenuChromium.cpp
index 747f23e..c248cd5 100644
--- a/WebCore/platform/chromium/PopupMenuChromium.cpp
+++ b/WebCore/platform/chromium/PopupMenuChromium.cpp
@@ -374,8 +374,7 @@ void PopupContainer::showExternal(const IntRect& rect, FrameView* v, int index)
void PopupContainer::hidePopup()
{
- if (client())
- client()->popupClosed(this);
+ listBox()->hidePopup();
}
void PopupContainer::layout()
@@ -1058,8 +1057,13 @@ void PopupListBox::adjustSelectedIndex(int delta)
void PopupListBox::hidePopup()
{
- if (parent())
- static_cast<PopupContainer*>(parent())->hidePopup();
+ if (!parent())
+ return;
+
+ PopupContainer* container = static_cast<PopupContainer*>(parent());
+ if (container->client())
+ container->client()->popupClosed(container);
+
m_popupClient->popupDidHide();
}
diff --git a/WebCore/platform/chromium/PopupMenuChromium.h b/WebCore/platform/chromium/PopupMenuChromium.h
index ed8048c..ee094b3 100644
--- a/WebCore/platform/chromium/PopupMenuChromium.h
+++ b/WebCore/platform/chromium/PopupMenuChromium.h
@@ -145,7 +145,7 @@ namespace WebCore {
// popups on other platforms.
void show(const IntRect&, FrameView*, int index);
- // Hide the popup. Do not call this directly: use client->hidePopup().
+ // Hide the popup.
void hidePopup();
// Compute size of widget and children.
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list