summaryrefslogtreecommitdiffstats
path: root/WebKit
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2011-02-02 16:39:48 +0000
committerKristian Monsen <kristianm@google.com>2011-02-02 17:00:53 +0000
commit9962eebad92163d0ae56e3a76f48156682ddcced (patch)
tree260717672d20db2adfd5d0536f88b8aded687a01 /WebKit
parent01ba55459e3ec9e9c21a35a6a50f37908ce4d42b (diff)
downloadexternal_webkit-9962eebad92163d0ae56e3a76f48156682ddcced.zip
external_webkit-9962eebad92163d0ae56e3a76f48156682ddcced.tar.gz
external_webkit-9962eebad92163d0ae56e3a76f48156682ddcced.tar.bz2
Fix for bug 3414354 crash in navcache
This should work according to our new ARM expert. Updated bug report with details. I didn't think another indent layer was good, so did returns instead. Change-Id: I2baafe748f3249943ecc93ddf166b8ff559d7a6c
Diffstat (limited to 'WebKit')
-rw-r--r--WebKit/android/nav/CachedFrame.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/WebKit/android/nav/CachedFrame.cpp b/WebKit/android/nav/CachedFrame.cpp
index 27eebd3..b25ad7d 100644
--- a/WebKit/android/nav/CachedFrame.cpp
+++ b/WebKit/android/nav/CachedFrame.cpp
@@ -50,13 +50,17 @@ WebCore::IntRect CachedFrame::adjustBounds(const CachedNode* node,
mRoot->mViewBounds.x(), mRoot->mViewBounds.y(),
mRoot->mViewBounds.width(), mRoot->mViewBounds.height());
#if USE(ACCELERATED_COMPOSITING)
- if (mRoot) {
- const CachedLayer* cachedLayer = layer(node);
- const WebCore::LayerAndroid* rootLayer = mRoot->rootLayer();
- const LayerAndroid* aLayer = cachedLayer->layer(rootLayer);
- if (aLayer)
- return cachedLayer->adjustBounds(rootLayer, rect);
- }
+ if (!mRoot)
+ return rect;
+
+ const CachedLayer* cachedLayer = layer(node);
+ if (!cachedLayer)
+ return rect;
+
+ const WebCore::LayerAndroid* rootLayer = mRoot->rootLayer();
+ const LayerAndroid* aLayer = cachedLayer->layer(rootLayer);
+ if (aLayer)
+ return cachedLayer->adjustBounds(rootLayer, rect);
#endif
return rect;
}