Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a382b58 authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Pipe down isHardwareAccelerated"

parents 14678680 a5408e61
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Picture;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -1980,4 +1981,10 @@ public class WebView extends AbsoluteLayout
    public void setBackgroundColor(int color) {
        mProvider.getViewDelegate().setBackgroundColor(color);
    }

    @Override
    public void setLayerType(int layerType, Paint paint) {
        super.setLayerType(layerType, paint);
        mProvider.getViewDelegate().setLayerType(layerType, paint);
    }
}
+28 −0
Original line number Diff line number Diff line
@@ -5638,6 +5638,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
        addAccessibilityApisToJavaScript();

        mTouchEventQueue.reset();
        updateHwAccelerated();
    }

    @Override
@@ -5657,6 +5658,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
        }

        removeAccessibilityApisFromJavaScript();
        updateHwAccelerated();
    }

    @Override
@@ -9360,6 +9362,30 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
        nativeDiscardAllTextures();
    }

    @Override
    public void setLayerType(int layerType, Paint paint) {
        updateHwAccelerated();
    }

    private void updateHwAccelerated() {
        if (mNativeClass == 0) {
            return;
        }
        boolean hwAccelerated = false;
        if (mWebView.isHardwareAccelerated()
                && mWebView.getLayerType() != View.LAYER_TYPE_SOFTWARE) {
            hwAccelerated = true;
        }
        int result = nativeSetHwAccelerated(mNativeClass, hwAccelerated);
        if (mWebViewCore == null || mBlockWebkitViewMessages) {
            return;
        }
        if (result == 1) {
            // Sync layers
            mWebViewCore.layersDraw();
        }
    }

    /**
     * Begin collecting per-tile profiling data
     *
@@ -9481,4 +9507,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
    private static native boolean nativeIsBaseFirst(int instance);
    private static native void nativeMapLayerRect(int instance, int layerId,
            Rect rect);
    // Returns 1 if a layer sync is needed, else 0
    private static native int nativeSetHwAccelerated(int instance, boolean hwAccelerated);
}
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.webkit;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Picture;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -337,6 +338,8 @@ public interface WebViewProvider {
        public boolean requestChildRectangleOnScreen(View child, Rect rect, boolean immediate);

        public void setBackgroundColor(int color);

        public void setLayerType(int layerType, Paint paint);
    }

    interface ScrollDelegate {