diff options
Diffstat (limited to 'WebCore/page/FrameView.cpp')
-rw-r--r-- | WebCore/page/FrameView.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp index 7d9920b..284c5fc 100644 --- a/WebCore/page/FrameView.cpp +++ b/WebCore/page/FrameView.cpp @@ -558,8 +558,13 @@ void FrameView::updateCompositingLayers() // Enter compositing mode for child frames that have layout dimensions. The // decision to enable compositing for the RenderView will be done in the // compositor. - if (m_frame->ownerRenderer() && (layoutWidth() | layoutHeight())) - enterCompositingMode(); + if (m_frame->ownerRenderer() && (layoutWidth() | layoutHeight()) && !view->usesCompositing()) { + ScrollbarMode h,v; + scrollbarModes(h, v); + if ((h != ScrollbarAlwaysOff && layoutWidth() < contentsWidth()) || + (v != ScrollbarAlwaysOff && layoutHeight() < contentsHeight())) + enterCompositingMode(); + } #endif // This call will make sure the cached hasAcceleratedCompositing is updated from the pref |