diff options
author | Victoria Lease <violets@google.com> | 2012-01-20 15:44:46 -0800 |
---|---|---|
committer | Victoria Lease <violets@google.com> | 2012-01-20 16:18:50 -0800 |
commit | 75b44b3b8507b6ebc42bbc498eafed8f5748edac (patch) | |
tree | 6fee19cc2bde284615a66c009505c179fd2b1ee9 /Source/WebKit/android/nav/WebView.cpp | |
parent | 5c32969050f8abb8eebf48916e339b44543a2437 (diff) | |
download | external_webkit-75b44b3b8507b6ebc42bbc498eafed8f5748edac.zip external_webkit-75b44b3b8507b6ebc42bbc498eafed8f5748edac.tar.gz external_webkit-75b44b3b8507b6ebc42bbc498eafed8f5748edac.tar.bz2 |
Removed navcache from scrollToFrame() and nativeFindAll().
Both of these functions now work with the current base layer's
picture set. That should have the navcache completely out of
find-on-page.
Change-Id: I8ab4ac4a3a4d16cfff034e73aa817fad1fc426a7
Diffstat (limited to 'Source/WebKit/android/nav/WebView.cpp')
-rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index 0d8a716..2a7a97a 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -305,7 +305,7 @@ void scrollToCurrentMatch() } SkRect matchBounds = m_findOnPage.currentMatchBounds(); - LayerAndroid* rootLayer = getFrameCache(DontAllowNewer)->rootLayer(); + LayerAndroid* rootLayer = compositeRoot(); if (!rootLayer) return; @@ -2295,8 +2295,9 @@ static int nativeFindAll(JNIEnv *env, jobject obj, jstring findLower, } WebView* view = GET_NATIVE_VIEW(env, obj); ALOG_ASSERT(view, "view not set in nativeFindAll"); - CachedRoot* root = view->getFrameCache(WebView::AllowNewer); - if (!root) { + BaseLayerAndroid* baseLayer = view->getBaseLayer(); + android::PictureSet* pictureSet = baseLayer ? baseLayer->content() : 0; + if (!pictureSet) { env->ReleaseStringChars(findLower, findLowerChars); env->ReleaseStringChars(findUpper, findUpperChars); checkException(env); @@ -2311,8 +2312,8 @@ static int nativeFindAll(JNIEnv *env, jobject obj, jstring findLower, checkException(env); return 0; } - int width = root->documentWidth(); - int height = root->documentHeight(); + int width = pictureSet->width(); + int height = pictureSet->height(); // Create a FindCanvas, which allows us to fake draw into it so we can // figure out where our search string is rendered (and how many times). FindCanvas canvas(width, height, (const UChar*) findLowerChars, @@ -2321,14 +2322,11 @@ static int nativeFindAll(JNIEnv *env, jobject obj, jstring findLower, bitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height); canvas.setBitmapDevice(bitmap); FindOnPage& findOnPage = view->findOnPage(); - BaseLayerAndroid* baseLayer = view->getBaseLayer(); - if (baseLayer) { - canvas.setLayerId(-1); - unsigned matchesBegin = canvas.found(); - baseLayer->drawCanvas(&canvas); - findOnPage.setLayerMatchRange(-1, - std::pair<unsigned, unsigned>(matchesBegin, canvas.found())); - } + canvas.setLayerId(-1); + unsigned matchesBegin = canvas.found(); + baseLayer->drawCanvas(&canvas); + findOnPage.setLayerMatchRange(-1, + std::pair<unsigned, unsigned>(matchesBegin, canvas.found())); #if USE(ACCELERATED_COMPOSITING) LayerAndroid* compositeLayer = view->compositeRoot(); if (compositeLayer) |