Loading core/java/android/webkit/WebView.java +7 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } } core/java/android/webkit/WebViewClassic.java +28 −0 Original line number Diff line number Diff line Loading @@ -5638,6 +5638,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc addAccessibilityApisToJavaScript(); mTouchEventQueue.reset(); updateHwAccelerated(); } @Override Loading @@ -5657,6 +5658,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc } removeAccessibilityApisFromJavaScript(); updateHwAccelerated(); } @Override Loading Loading @@ -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 * Loading Loading @@ -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); } core/java/android/webkit/WebViewProvider.java +3 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 { Loading Loading
core/java/android/webkit/WebView.java +7 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } }
core/java/android/webkit/WebViewClassic.java +28 −0 Original line number Diff line number Diff line Loading @@ -5638,6 +5638,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc addAccessibilityApisToJavaScript(); mTouchEventQueue.reset(); updateHwAccelerated(); } @Override Loading @@ -5657,6 +5658,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc } removeAccessibilityApisFromJavaScript(); updateHwAccelerated(); } @Override Loading Loading @@ -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 * Loading Loading @@ -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); }
core/java/android/webkit/WebViewProvider.java +3 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 { Loading