am 27936ad3: Merge "Block loading WebView in privileged processes." into lmp-mr1-dev
* commit '27936ad3a677509fab1174c7b6655c894f018143': Block loading WebView in privileged processes.
This commit is contained in:
@@ -18,8 +18,8 @@ package android.webkit;
|
|||||||
|
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.app.ActivityManagerInternal;
|
import android.app.ActivityManagerInternal;
|
||||||
import android.app.Application;
|
|
||||||
import android.app.AppGlobals;
|
import android.app.AppGlobals;
|
||||||
|
import android.app.Application;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
@@ -34,14 +34,14 @@ import android.os.Trace;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.AndroidRuntimeException;
|
import android.util.AndroidRuntimeException;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.server.LocalServices;
|
import com.android.server.LocalServices;
|
||||||
|
|
||||||
import dalvik.system.VMRuntime;
|
import dalvik.system.VMRuntime;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import com.android.internal.os.Zygote;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Top level factory, used creating all the main WebView implementation classes.
|
* Top level factory, used creating all the main WebView implementation classes.
|
||||||
*
|
*
|
||||||
@@ -91,6 +91,12 @@ public final class WebViewFactory {
|
|||||||
// us honest and minimize usage of WebView internals when binding the proxy.
|
// us honest and minimize usage of WebView internals when binding the proxy.
|
||||||
if (sProviderInstance != null) return sProviderInstance;
|
if (sProviderInstance != null) return sProviderInstance;
|
||||||
|
|
||||||
|
final int uid = android.os.Process.myUid();
|
||||||
|
if (uid == android.os.Process.ROOT_UID || uid == android.os.Process.SYSTEM_UID) {
|
||||||
|
throw new UnsupportedOperationException(
|
||||||
|
"For security reasons, WebView is not allowed in privileged processes");
|
||||||
|
}
|
||||||
|
|
||||||
Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "WebViewFactory.getProvider()");
|
Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "WebViewFactory.getProvider()");
|
||||||
try {
|
try {
|
||||||
Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "WebViewFactory.loadNativeLibrary()");
|
Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "WebViewFactory.loadNativeLibrary()");
|
||||||
|
|||||||
Reference in New Issue
Block a user