diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-17 16:21:14 +0200 |
commit | 8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch) | |
tree | 17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebKit/chromium/src/WebPagePopupImpl.cpp | |
parent | b9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff) | |
download | qtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz |
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well
as the previously cherry-picked changes
Diffstat (limited to 'Source/WebKit/chromium/src/WebPagePopupImpl.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebPagePopupImpl.cpp | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp index 1e0fcebb5..e4808fd70 100644 --- a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp +++ b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp @@ -151,15 +151,14 @@ WebPagePopupImpl::~WebPagePopupImpl() ASSERT(!m_page); } -bool WebPagePopupImpl::init(WebViewImpl* webView, PagePopupClient* popupClient, const IntRect& originBoundsInRootView) +bool WebPagePopupImpl::init(WebViewImpl* webView, PagePopupClient* popupClient, const IntRect&) { ASSERT(webView); ASSERT(popupClient); m_webView = webView; m_popupClient = popupClient; - m_originBoundsInRootView = originBoundsInRootView; - reposition(m_popupClient->contentSize()); + resize(m_popupClient->contentSize()); if (!initPage()) return false; @@ -233,22 +232,10 @@ void WebPagePopupImpl::paint(WebCanvas* canvas, const WebRect& rect, PaintOption PageWidgetDelegate::paint(m_page.get(), 0, canvas, rect, PageWidgetDelegate::Opaque); } -void WebPagePopupImpl::reposition(const WebSize& popupSize) -{ - WebSize rootViewSize = m_webView->size(); - IntRect popupBoundsInRootView(IntPoint(max(0, m_originBoundsInRootView.x()), max(0, m_originBoundsInRootView.maxY())), popupSize); - if (popupBoundsInRootView.maxY() > rootViewSize.height) - popupBoundsInRootView.setY(max(0, m_originBoundsInRootView.y() - popupSize.height)); - if (popupBoundsInRootView.maxX() > rootViewSize.width) - popupBoundsInRootView.setX(max(0, rootViewSize.width - popupSize.width)); - IntRect boundsInScreen = m_webView->page()->chrome()->rootViewToScreen(popupBoundsInRootView); - m_widgetClient->setWindowRect(boundsInScreen); - m_windowRectInScreen = boundsInScreen; -} - void WebPagePopupImpl::resize(const WebSize& newSize) { - reposition(newSize); + m_windowRectInScreen = WebRect(m_windowRectInScreen.x, m_windowRectInScreen.y, newSize.width, newSize.height); + m_widgetClient->setWindowRect(m_windowRectInScreen); if (m_page) m_page->mainFrame()->view()->resize(newSize); |