Title: [115664] branches/chromium/1084/Source
Revision
115664
Author
[email protected]
Date
2012-04-30 14:04:04 -0700 (Mon, 30 Apr 2012)

Log Message

Merge 114513
BUG=118374
Review URL: https://chromiumcodereview.appspot.com/10264016

Modified Paths

Diff

Modified: branches/chromium/1084/Source/WebCore/platform/chromium/PopupContainer.cpp (115663 => 115664)


--- branches/chromium/1084/Source/WebCore/platform/chromium/PopupContainer.cpp	2012-04-30 21:02:51 UTC (rev 115663)
+++ branches/chromium/1084/Source/WebCore/platform/chromium/PopupContainer.cpp	2012-04-30 21:04:04 UTC (rev 115664)
@@ -407,7 +407,7 @@
     showPopup(v);
 }
 
-void PopupContainer::refresh(const IntRect& targetControlRect)
+IntRect PopupContainer::refresh(const IntRect& targetControlRect)
 {
     listBox()->setBaseWidth(max(m_originalFrameRect.width() - kBorderSize * 2, 0));
     listBox()->updateFromElement();
@@ -423,14 +423,9 @@
     if (size() != widgetRectInScreen.size())
         resize(widgetRectInScreen.size());
 
-    ChromeClientChromium* chromeClient = chromeClientChromium();
-    if (chromeClient) {
-        // Update the WebWidget location (which is relative to the screen origin).
-        if (widgetRectInScreen != chromeClient->windowRect())
-            chromeClient->setWindowRect(widgetRectInScreen);
-    }
-
     invalidate();
+
+    return widgetRectInScreen;
 }
 
 inline bool PopupContainer::isRTL() const

Modified: branches/chromium/1084/Source/WebCore/platform/chromium/PopupContainer.h (115663 => 115664)


--- branches/chromium/1084/Source/WebCore/platform/chromium/PopupContainer.h	2012-04-30 21:02:51 UTC (rev 115663)
+++ branches/chromium/1084/Source/WebCore/platform/chromium/PopupContainer.h	2012-04-30 21:04:04 UTC (rev 115664)
@@ -99,7 +99,7 @@
     int selectedIndex() const;
 
     // Refresh the popup values from the PopupMenuClient.
-    void refresh(const IntRect& targetControlRect);
+    IntRect refresh(const IntRect& targetControlRect);
 
     // The menu per-item data.
     const WTF::Vector<PopupItem*>& popupData() const;

Modified: branches/chromium/1084/Source/WebKit/chromium/src/WebViewImpl.cpp (115663 => 115664)


--- branches/chromium/1084/Source/WebKit/chromium/src/WebViewImpl.cpp	2012-04-30 21:02:51 UTC (rev 115663)
+++ branches/chromium/1084/Source/WebKit/chromium/src/WebViewImpl.cpp	2012-04-30 21:04:04 UTC (rev 115664)
@@ -3104,16 +3104,11 @@
         return;
     }
 
-    IntRect oldBounds = m_autofillPopup->frameRect();
-    m_autofillPopup->refresh(focusedWebCoreNode()->getPixelSnappedRect());
-    IntRect newBounds = m_autofillPopup->frameRect();
+    WebRect newWidgetRect = m_autofillPopup->refresh(focusedWebCoreNode()->getPixelSnappedRect());
     // Let's resize the backing window if necessary.
-    if (oldBounds != newBounds) {
-        WebPopupMenuImpl* popupMenu =
-            static_cast<WebPopupMenuImpl*>(m_autofillPopup->client());
-        if (popupMenu)
-            popupMenu->client()->setWindowRect(m_chromeClientImpl.rootViewToScreen(newBounds));
-    }
+    WebPopupMenuImpl* popupMenu = static_cast<WebPopupMenuImpl*>(m_autofillPopup->client());
+    if (popupMenu && popupMenu->client()->windowRect() != newWidgetRect)
+        popupMenu->client()->setWindowRect(newWidgetRect);
 }
 
 Node* WebViewImpl::focusedWebCoreNode()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to