void QDeclarativeWebView::geometryChanged(const QRectF& newGeometry, const QRectF& oldGeometry) { QWebPage* webPage = page(); if (newGeometry.size() != oldGeometry.size() && webPage) { QSize contentSize = webPage->preferredContentsSize(); if (widthValid()) contentSize.setWidth(width()); if (heightValid()) contentSize.setHeight(height()); if (contentSize != webPage->preferredContentsSize()) webPage->setPreferredContentsSize(contentSize); } QDeclarativeItem::geometryChanged(newGeometry, oldGeometry); }
QSize QWebPageProto::preferredContentsSize() const { QWebPage *item = qscriptvalue_cast<QWebPage*>(thisObject()); if (item) return item->preferredContentsSize(); return QSize(); }
void QGraphicsWebViewPrivate::updateResizesToContentsForPage() { ASSERT(page); pageClient()->viewResizesToContents = resizesToContents; if (resizesToContents) { // resizes to contents mode requires preferred contents size to be set if (!page->preferredContentsSize().isValid()) page->setPreferredContentsSize(QSize(960, 800)); QObject::connect(page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), q, SLOT(_q_contentsSizeChanged(const QSize&)), Qt::UniqueConnection); } else {
void QGraphicsWebViewPrivate::updateResizesToContentsForPage() { ASSERT(page); if (resizesToContents) { // resizes to contents mode requires preferred contents size to be set if (!page->preferredContentsSize().isValid()) page->setPreferredContentsSize(QSize(960, 800)); #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) QObject::connect(page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), q, SLOT(_q_contentsSizeChanged(const QSize&)), Qt::UniqueConnection); #else QObject::connect(page->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), q, SLOT(_q_contentsSizeChanged(const QSize&))); #endif } else {
void FrameLoaderClientQt::transitionToCommittedForNewPage() { ASSERT(m_frame); ASSERT(m_webFrame); QBrush brush = m_webFrame->page()->palette().brush(QPalette::Base); QColor backgroundColor = brush.style() == Qt::SolidPattern ? brush.color() : QColor(); QWebPage* page = m_webFrame->page(); const QSize preferredLayoutSize = page->preferredContentsSize(); ScrollbarMode hScrollbar = (ScrollbarMode) m_webFrame->scrollBarPolicy(Qt::Horizontal); ScrollbarMode vScrollbar = (ScrollbarMode) m_webFrame->scrollBarPolicy(Qt::Vertical); bool hLock = hScrollbar != ScrollbarAuto; bool vLock = vScrollbar != ScrollbarAuto; m_frame->createView(m_webFrame->page()->viewportSize(), backgroundColor, !backgroundColor.alpha(), preferredLayoutSize.isValid() ? IntSize(preferredLayoutSize) : IntSize(), preferredLayoutSize.isValid(), hScrollbar, hLock, vScrollbar, vLock); }