diff options
| author | Teng-Hui Zhu <ztenghui@google.com> | 2011-06-15 14:30:34 -0700 |
|---|---|---|
| committer | Teng-Hui Zhu <ztenghui@google.com> | 2011-06-15 14:59:59 -0700 |
| commit | a61d17ffd296786f61755ec29a4fcff1223ba88f (patch) | |
| tree | 446182f3bafbdc74935ee7405a1300002c9599b5 /Source/WebCore | |
| parent | ec127d933c57ca94eb3715bd78546165496c991e (diff) | |
| download | external_webkit-a61d17ffd296786f61755ec29a4fcff1223ba88f.zip external_webkit-a61d17ffd296786f61755ec29a4fcff1223ba88f.tar.gz external_webkit-a61d17ffd296786f61755ec29a4fcff1223ba88f.tar.bz2 | |
Fix the crash caused by recent webkit RenderLayerCompositor change
We used to rely on the fact that RenderLayerBacking is the only subclass of
GraphicsLayerClient, but now the RenderLayerCompositor also inherit it and
is used for iframe. That cause us to get invalid pointer in GraphicsLayerAndroid.
The solution here is to disable the new webkit approach b/c we have our own
iframe support already.
bug:4592195
Change-Id: Ia786233907d83028fdc6865c28fbbd5291564ad0
Diffstat (limited to 'Source/WebCore')
| -rw-r--r-- | Source/WebCore/rendering/RenderLayerCompositor.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp index 786f806..66dcf40 100644 --- a/Source/WebCore/rendering/RenderLayerCompositor.cpp +++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp @@ -1520,6 +1520,15 @@ bool RenderLayerCompositor::needsContentsCompositingLayer(const RenderLayer* lay bool RenderLayerCompositor::requiresScrollLayer(RootLayerAttachment attachment) const { +#if PLATFORM(ANDROID) + // Recently, RenderLayerCompositor is changed to be a subclass of + // GraphicsLayerClient, and it is used for iframe. + // http://trac.webkit.org/changeset/75262 + // We have our own support for iframe, before we embrace this new approach, + // we will disable it. + // TODO: Investigate how to utilize this way to support iframe. + return false; +#endif // We need to handle our own scrolling if we're: return !m_renderView->frameView()->platformWidget() // viewless (i.e. non-Mac, or Mac in WebKit2) || attachment == RootLayerAttachedViaEnclosingFrame; // a composited frame on Mac |
