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

darin at chromium.org darin at chromium.org
Wed Apr 7 23:46:09 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 08e55e706a00d4bd7b3d8e67612e3bd2b1e71fc6
Author: darin at chromium.org <darin at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 18 06:51:19 2009 +0000

    2009-11-17  Nicolas Weber  <thakis at chromium.org>
    
            Reviewed by Darin Fisher.
    
            Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
            after navigation.
            https://bugs.webkit.org/show_bug.cgi?id=31609
    
            * platform/chromium/PopupMenuChromium.cpp:
            (WebCore::PopupContainer::showExternal): Set parent for external
            dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
            its parent's client.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b724b60..c1f5ecb 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2009-11-17  Nicolas Weber  <thakis at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
+        after navigation.
+        https://bugs.webkit.org/show_bug.cgi?id=31609
+
+        * platform/chromium/PopupMenuChromium.cpp:
+        (WebCore::PopupContainer::showExternal): Set parent for external
+        dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
+        its parent's client.
+
 2009-11-17  Hayato Ito  <hayato at google.com>
 
         Reviewed by Darin Adler.
diff --git a/WebCore/platform/chromium/PopupMenuChromium.cpp b/WebCore/platform/chromium/PopupMenuChromium.cpp
index f0cd8a2..5abd364 100644
--- a/WebCore/platform/chromium/PopupMenuChromium.cpp
+++ b/WebCore/platform/chromium/PopupMenuChromium.cpp
@@ -370,6 +370,12 @@ void PopupContainer::showExternal(const IntRect& rect, FrameView* v, int index)
     ChromeClientChromium* client = static_cast<ChromeClientChromium*>(
          v->frame()->page()->chrome()->client());
     client->popupOpened(this, popupRect, true, true);
+
+    // The popup sends its "closed" notification through its parent. Set the
+    // parent, even though external popups have no real on-screen widget but a
+    // native menu (see |PopupListBox::hidePopup()|);
+    if (!m_listBox->parent())
+        addChild(m_listBox.get());
 }
 
 void PopupContainer::hidePopup()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list