summaryrefslogtreecommitdiffstats
path: root/WebCore/page/FrameView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/FrameView.cpp')
-rw-r--r--WebCore/page/FrameView.cpp9
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