summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/page/Frame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/Frame.cpp')
-rw-r--r--Source/WebCore/page/Frame.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/WebCore/page/Frame.cpp b/Source/WebCore/page/Frame.cpp
index 11a86c6..4c7c6b7 100644
--- a/Source/WebCore/page/Frame.cpp
+++ b/Source/WebCore/page/Frame.cpp
@@ -979,6 +979,18 @@ void Frame::setPageAndTextZoomFactors(float pageZoomFactor, float textZoomFactor
}
}
+#if USE(ACCELERATED_COMPOSITING)
+void Frame::updateContentsScale(float scale)
+{
+ for (Frame* child = tree()->firstChild(); child; child = child->tree()->nextSibling())
+ child->updateContentsScale(scale);
+
+ RenderView* root = contentRenderer();
+ if (root && root->compositor())
+ root->compositor()->updateContentsScale(scale);
+}
+#endif
+
void Frame::scalePage(float scale, const IntPoint& origin)
{
Document* document = this->document();
@@ -992,6 +1004,10 @@ void Frame::scalePage(float scale, const IntPoint& origin)
document->recalcStyle(Node::Force);
+#if USE(ACCELERATED_COMPOSITING)
+ updateContentsScale(scale);
+#endif
+
if (FrameView* view = this->view()) {
if (document->renderer() && document->renderer()->needsLayout() && view->didFirstLayout())
view->layout();