diff options
author | Patrick Scott <phanna@android.com> | 2010-12-15 08:21:15 -0500 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2010-12-15 08:21:15 -0500 |
commit | 1dd1344ade226cec7f9f85e84744fffdd222d232 (patch) | |
tree | e99ff47e802fe90ba5c617dce34221807598d760 /WebCore/rendering/RenderLayerCompositor.cpp | |
parent | 052fc207e3b0c145df08f85c14a7946b5ae3b79f (diff) | |
download | external_webkit-1dd1344ade226cec7f9f85e84744fffdd222d232.zip external_webkit-1dd1344ade226cec7f9f85e84744fffdd222d232.tar.gz external_webkit-1dd1344ade226cec7f9f85e84744fffdd222d232.tar.bz2 |
Re-enable iframe scrolling.
This reverts commit c7911ffd666a7e73131dfd68919b769086a093e0.
Diffstat (limited to 'WebCore/rendering/RenderLayerCompositor.cpp')
-rw-r--r-- | WebCore/rendering/RenderLayerCompositor.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/WebCore/rendering/RenderLayerCompositor.cpp b/WebCore/rendering/RenderLayerCompositor.cpp index ce80e5a..00e596b 100644 --- a/WebCore/rendering/RenderLayerCompositor.cpp +++ b/WebCore/rendering/RenderLayerCompositor.cpp @@ -1178,9 +1178,20 @@ bool RenderLayerCompositor::requiresCompositingForMobileSites(const RenderLayer* return true; HTMLFrameOwnerElement* ownerElement = enclosingIFrameElement(); RenderObject* renderer = ownerElement ? ownerElement->renderer() : 0; - // FIXME: Disabled for now until navigation is fixed. - if (false && layer->isRootLayer() && renderer && renderer->isRenderIFrame()) - return true; + if (layer->isRootLayer() && renderer && renderer->isRenderIFrame()) { + if (layer->renderer()->frame()) { + FrameView* view = layer->renderer()->frame()->view(); + if (view) { + // Enable compositing if the frame can scroll and the contents + // are larger than the layout dimensions. + ScrollbarMode h,v; + view->scrollbarModes(h, v); + if ((h != ScrollbarAlwaysOff && view->layoutWidth() < view->contentsWidth()) || + (v != ScrollbarAlwaysOff && view->layoutHeight() < view->contentsHeight())) + return true; + } + } + } #endif #if ENABLE(COMPOSITED_FIXED_ELEMENTS) // First, check if we are in an iframe, and if so bail out |