void WebViewNix::didChangeContentPosition(const WebCore::FloatPoint& trajectoryVector) { DrawingAreaProxy* drawingArea = page()->drawingArea(); if (!drawingArea) return; FloatRect visibleContentsRect(contentPosition(), visibleContentsSize()); visibleContentsRect.intersect(FloatRect(FloatPoint(), contentsSize())); drawingArea->setVisibleContentsRect(visibleContentsRect, trajectoryVector); }
void PageViewportController::syncVisibleContents(const FloatPoint& trajectoryVector) { DrawingAreaProxy* drawingArea = m_webPageProxy->drawingArea(); if (!drawingArea || m_viewportSize.isEmpty() || m_contentsSize.isEmpty()) return; FloatRect visibleContentsRect(clampViewportToContents(m_viewportPos, m_effectiveScale), viewportSizeInContentsCoordinates()); visibleContentsRect.intersect(FloatRect(FloatPoint::zero(), m_contentsSize)); drawingArea->setVisibleContentsRect(visibleContentsRect, m_effectiveScale, trajectoryVector); m_client->didChangeVisibleContents(); }
void QtViewportHandler::informVisibleContentChange(const QPointF& trajectoryVector) { DrawingAreaProxy* drawingArea = m_webPageProxy->drawingArea(); if (!drawingArea) return; if (m_lastVisibleContentsRect == visibleContentsRect()) return; qreal scale = m_pageItem->contentsScale(); if (scale != m_lastCommittedScale) emit m_viewportItem->experimental()->test()->contentsScaleCommitted(); m_lastCommittedScale = scale; m_lastVisibleContentsRect = visibleContentsRect(); drawingArea->setVisibleContentsRect(visibleContentsRect(), scale, trajectoryVector, m_viewportItem->contentPos()); // Ensure that updatePaintNode is always called before painting. m_pageItem->update(); }