Use the WebView's loader library to load the real library.
Load libwebviewchromiumloader and use it to load the real WebView library, to enable sharing of the relro segment between different application processes without requiring that the library be preloaded in the zygote. A system service is added to track whether the relro segment file has been prepared, and block loading of the library until it has been. Bug: 13005501 Change-Id: I846b37c7b8e2a4eb8a39e4fd455bccbb2048c173
This commit is contained in:
@@ -49,6 +49,7 @@ import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.util.Slog;
|
||||
import android.view.WindowManager;
|
||||
import android.webkit.WebViewFactory;
|
||||
|
||||
import com.android.internal.R;
|
||||
import com.android.internal.os.BinderInternal;
|
||||
@@ -91,6 +92,7 @@ import com.android.server.tv.TvInputManagerService;
|
||||
import com.android.server.twilight.TwilightService;
|
||||
import com.android.server.usb.UsbService;
|
||||
import com.android.server.wallpaper.WallpaperManagerService;
|
||||
import com.android.server.webkit.WebViewUpdateService;
|
||||
import com.android.server.wm.WindowManagerService;
|
||||
|
||||
import dalvik.system.VMRuntime;
|
||||
@@ -408,6 +410,12 @@ public final class SystemServer {
|
||||
Slog.i(TAG, "Reading configuration...");
|
||||
SystemConfig.getInstance();
|
||||
|
||||
Slog.i(TAG, "WebView Update Service");
|
||||
ServiceManager.addService("webviewupdate", new WebViewUpdateService());
|
||||
|
||||
Slog.i(TAG, "WebViewFactory preparation");
|
||||
WebViewFactory.prepareWebViewInSystemServer();
|
||||
|
||||
Slog.i(TAG, "Scheduling Policy");
|
||||
ServiceManager.addService("scheduling_policy", new SchedulingPolicyService());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user