QSGNode* QQuickWebPage::updatePaintNode(QSGNode* oldNode, UpdatePaintNodeData*) { if (!d->webPageProxy->drawingArea()) return oldNode; LayerTreeHostProxy* layerTreeHostProxy = d->webPageProxy->drawingArea()->layerTreeHostProxy(); WebLayerTreeRenderer* renderer = layerTreeHostProxy->layerTreeRenderer(); QtWebPageSGNode* node = static_cast<QtWebPageSGNode*>(oldNode); if (!node) node = new QtWebPageSGNode(); node->setRenderer(renderer); renderer->syncRemoteContent(); node->setScale(d->contentsScale); QColor backgroundColor = d->webPageProxy->drawsTransparentBackground() ? Qt::transparent : Qt::white; QRectF backgroundRect(QPointF(0, 0), d->contentsSize); node->setBackground(backgroundRect, backgroundColor); return node; }