diff options
Diffstat (limited to 'Source/WebCore/page/Frame.cpp')
-rw-r--r-- | Source/WebCore/page/Frame.cpp | 16 |
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(); |