[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