summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/android/nav/WebView.cpp
diff options
context:
space:
mode:
authorVictoria Lease <violets@google.com>2012-01-20 15:44:46 -0800
committerVictoria Lease <violets@google.com>2012-01-20 16:18:50 -0800
commit75b44b3b8507b6ebc42bbc498eafed8f5748edac (patch)
tree6fee19cc2bde284615a66c009505c179fd2b1ee9 /Source/WebKit/android/nav/WebView.cpp
parent5c32969050f8abb8eebf48916e339b44543a2437 (diff)
downloadexternal_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.cpp24
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)