Chromium Code Reviews| Index: android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java |
| diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java |
| index c2b42958ed57e707d572f8b6e0bcb95b8d528c1e..0bb5c16f2efbb23b1d71fca7d710ff0ee0019726 100644 |
| --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java |
| +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java |
| @@ -14,9 +14,12 @@ import android.content.res.Resources; |
| import android.graphics.Canvas; |
| import android.os.Build; |
| import android.os.Trace; |
| +import android.provider.Settings; |
| import android.util.SparseArray; |
| import android.view.View; |
| +import org.chromium.base.ContextUtils; |
| + |
| import java.lang.reflect.Method; |
| /** |
| @@ -82,6 +85,9 @@ class WebViewDelegateFactory { |
| /** @see android.webkit.WebViewDelegate#addWebViewAssetPath */ |
| void addWebViewAssetPath(Context context); |
| + |
| + /** @see android.webkit.WebViewDelegate#isMultiProcessEnabled */ |
| + boolean isMultiProcessEnabled(); |
| } |
| /** |
| @@ -110,7 +116,7 @@ class WebViewDelegateFactory { |
| * A {@link WebViewDelegate com.android.webview.chromium.WebViewDelegate} that proxies requests |
| * to a {@link android.webkit.WebViewDelegate android.webkit.WebViewDelegate}. |
| */ |
| - private static class ProxyDelegate implements WebViewDelegate { |
| + static class ProxyDelegate implements WebViewDelegate { |
|
boliu
2017/01/23 16:34:18
does protected work here too..?
Torne
2017/01/23 17:27:30
Likewise no point.
|
| android.webkit.WebViewDelegate mDelegate; |
| ProxyDelegate(android.webkit.WebViewDelegate delegate) { |
| @@ -198,6 +204,16 @@ class WebViewDelegateFactory { |
| } |
| }); |
| } |
| + |
| + @Override |
| + public boolean isMultiProcessEnabled() { |
| + // Multiprocess requires N or later. |
|
boliu
2017/01/23 16:34:18
I suppose this class was never meant to contain im
Torne
2017/01/23 17:27:30
I was considering renaming it to Api22AndUpDelegat
boliu
2017/01/23 17:44:04
Err, no :p
I meant at callsite, have a if <= N, d
Torne
2017/01/24 11:24:01
I think that's a better idea actually; I'll do it
|
| + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return false; |
| + |
| + // Check the multiprocess developer setting. |
| + return Settings.Global.getInt(ContextUtils.getApplicationContext().getContentResolver(), |
| + Settings.Global.WEBVIEW_MULTIPROCESS, 0) == 1; |
| + } |
| } |
| /** |
| @@ -383,5 +399,10 @@ class WebViewDelegateFactory { |
| throw new RuntimeException("Invalid reflection", e); |
| } |
| } |
| + |
| + @Override |
| + public boolean isMultiProcessEnabled() { |
| + return false; |
| + } |
| } |
| } |