diff --git a/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h b/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h index d6ef85bad97c..7c6ec46e2151 100644 --- a/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h +++ b/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.h @@ -293,6 +293,7 @@ class UnifiedPDFPlugin final : public PDFPluginBase, public WebCore::GraphicsLay void ensureLayers(); void updatePageBackgroundLayers(); void updateLayerHierarchy(); + void updateLayerPositions(); void didChangeScrollOffset() override; void didChangeIsInWindow(); diff --git a/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm b/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm index d98c963b98bd..c7724c823f9d 100644 --- a/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm +++ b/Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/UnifiedPDFPlugin.mm @@ -481,6 +481,16 @@ static String mutationObserverNotificationString() didChangeIsInWindow(); } +void UnifiedPDFPlugin::updateLayerPositions() +{ + TransformationMatrix transform; + transform.scale(m_scaleFactor); + auto padding = centeringOffset(); + transform.translate(padding.width(), padding.height()); + + m_contentsLayer->setTransform(transform); + m_pageBackgroundsContainerLayer->setTransform(transform); +} std::pair UnifiedPDFPlugin::shouldShowDebugIndicators() const { @@ -849,14 +859,7 @@ static String mutationObserverNotificationString() if (!m_inMagnificationGesture) m_rootLayer->noteDeviceOrPageScaleFactorChangedIncludingDescendants(); - TransformationMatrix transform; - transform.scale(m_scaleFactor); - auto padding = centeringOffset(); - transform.translate(padding.width(), padding.height()); - - m_contentsLayer->setTransform(transform); - m_pageBackgroundsContainerLayer->setTransform(transform); - + updateLayerPositions(); updatePageBackgroundLayers(); updateSnapOffsets(); @@ -929,6 +932,7 @@ static String mutationObserverNotificationString() } updateLayerHierarchy(); + updateLayerPositions(); updateScrollingExtents(); if (shouldAdjustScale == AdjustScaleAfterLayout::Yes && m_view) {