diff options
Diffstat (limited to 'Source/WebKit/android/nav/WebView.cpp')
| -rw-r--r-- | Source/WebKit/android/nav/WebView.cpp | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/Source/WebKit/android/nav/WebView.cpp b/Source/WebKit/android/nav/WebView.cpp index c7f132f..eddf0ab 100644 --- a/Source/WebKit/android/nav/WebView.cpp +++ b/Source/WebKit/android/nav/WebView.cpp @@ -258,7 +258,6 @@ bool drawGL(WebCore::IntRect& viewRect, WebCore::IntRect* invalRect, DrawExtra* extra = getDrawExtra((DrawExtras) extras); - unsigned int pic = m_glWebViewState->currentPictureCounter(); m_glWebViewState->glExtras()->setDrawExtra(extra); // Make sure we have valid coordinates. We might not have valid coords @@ -280,7 +279,7 @@ bool drawGL(WebCore::IntRect& viewRect, WebCore::IntRect* invalRect, checkException(env); } } - if (ret || m_glWebViewState->currentPictureCounter() != pic) + if (ret) return !m_isDrawingPaused; #endif return false; @@ -295,14 +294,14 @@ PictureSet* draw(SkCanvas* canvas, SkColor bgColor, DrawExtras extras, bool spli } // draw the content of the base layer first - PictureSet* content = m_baseLayer->content(); + LayerContent* content = m_baseLayer->content(); + int sc = canvas->save(SkCanvas::kClip_SaveFlag); canvas->clipRect(SkRect::MakeLTRB(0, 0, content->width(), content->height()), SkRegion::kDifference_Op); canvas->drawColor(bgColor); canvas->restoreToCount(sc); - if (content->draw(canvas)) - ret = split ? new PictureSet(*content) : 0; + content->draw(canvas); DrawExtra* extra = getDrawExtra(extras); if (extra) @@ -560,7 +559,7 @@ void replaceBaseContent(PictureSet* set) { if (!m_baseLayer) return; - m_baseLayer->setContent(*set); + // TODO: remove the split picture codepath delete set; } @@ -568,7 +567,7 @@ void copyBaseContentToPicture(SkPicture* picture) { if (!m_baseLayer) return; - PictureSet* content = m_baseLayer->content(); + LayerContent* content = m_baseLayer->content(); m_baseLayer->drawCanvas(picture->beginRecording(content->width(), content->height(), SkPicture::kUsePathBoundsForClip_RecordingFlag)); picture->endRecording(); @@ -878,26 +877,6 @@ static jobject nativeLayerBounds(JNIEnv* env, jobject obj, jint jlayer) return rect; } -static jobject nativeSubtractLayers(JNIEnv* env, jobject obj, jobject jrect) -{ - SkIRect irect = jrect_to_webrect(env, jrect); -#if USE(ACCELERATED_COMPOSITING) - LayerAndroid* root = GET_NATIVE_VIEW(env, obj)->compositeRoot(); - if (root) { - SkRect rect; - rect.set(irect); - rect = root->subtractLayers(rect); - rect.round(&irect); - } -#endif - jclass rectClass = env->FindClass("android/graphics/Rect"); - jmethodID init = env->GetMethodID(rectClass, "<init>", "(IIII)V"); - jobject rect = env->NewObject(rectClass, init, irect.fLeft, irect.fTop, - irect.fRight, irect.fBottom); - env->DeleteLocalRef(rectClass); - return rect; -} - static void nativeSetHeightCanMeasure(JNIEnv *env, jobject obj, bool measure) { WebView* view = GET_NATIVE_VIEW(env, obj); @@ -1249,8 +1228,6 @@ static JNINativeMethod gJavaWebViewMethods[] = { (void*) nativeTileProfilingGetFloat }, { "nativeStopGL", "()V", (void*) nativeStopGL }, - { "nativeSubtractLayers", "(Landroid/graphics/Rect;)Landroid/graphics/Rect;", - (void*) nativeSubtractLayers }, { "nativeScrollableLayer", "(IILandroid/graphics/Rect;Landroid/graphics/Rect;)I", (void*) nativeScrollableLayer }, { "nativeScrollLayer", "(III)Z", |
