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