summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chromium/java/com/android/webview/chromium/DrawGLFunctor.java9
-rw-r--r--chromium/java/com/android/webview/chromium/WebViewChromium.java3
-rw-r--r--chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java10
3 files changed, 17 insertions, 5 deletions
diff --git a/chromium/java/com/android/webview/chromium/DrawGLFunctor.java b/chromium/java/com/android/webview/chromium/DrawGLFunctor.java
index 7f7adeb..265bfd0 100644
--- a/chromium/java/com/android/webview/chromium/DrawGLFunctor.java
+++ b/chromium/java/com/android/webview/chromium/DrawGLFunctor.java
@@ -58,6 +58,11 @@ class DrawGLFunctor {
if (mDestroyRunnable.mNativeDrawGLFunctor == 0) {
throw new RuntimeException("requested DrawGL on already destroyed DrawGLFunctor");
}
+
+ if (canvas != null && waitForCompletion) {
+ throw new IllegalArgumentException("requested a blocking DrawGL with a not null canvas.");
+ }
+
if (viewRootImpl == null) {
// Can happen during teardown when window is leaked.
return false;
@@ -70,10 +75,6 @@ class DrawGLFunctor {
}
canvas.callDrawGLFunction(mDestroyRunnable.mNativeDrawGLFunctor);
- if (waitForCompletion) {
- viewRootImpl.invokeFunctor(mDestroyRunnable.mNativeDrawGLFunctor,
- waitForCompletion);
- }
return true;
}
diff --git a/chromium/java/com/android/webview/chromium/WebViewChromium.java b/chromium/java/com/android/webview/chromium/WebViewChromium.java
index 34a6660..0201aeb 100644
--- a/chromium/java/com/android/webview/chromium/WebViewChromium.java
+++ b/chromium/java/com/android/webview/chromium/WebViewChromium.java
@@ -58,6 +58,7 @@ import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import android.webkit.WebViewFactory;
import android.webkit.WebViewProvider;
import android.webkit.WebChromeClient.CustomViewCallback;
import android.widget.TextView;
@@ -165,6 +166,8 @@ class WebViewChromium implements WebViewProvider,
mAppTargetSdkVersion = mWebView.getContext().getApplicationInfo().targetSdkVersion;
mFactory = factory;
mRunQueue = new WebViewChromiumRunQueue();
+ String webViewAssetPath = WebViewFactory.getLoadedPackageInfo().applicationInfo.sourceDir;
+ mWebView.getContext().getAssets().addAssetPath(webViewAssetPath);
}
static void completeWindowCreation(WebView parent, WebView child) {
diff --git a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
index 1b10971..9f9c3aa 100644
--- a/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/chromium/java/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
@@ -16,6 +16,7 @@
package com.android.webview.chromium;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.app.ActivityManager;
@@ -122,6 +123,13 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "AwBrowserProcess.loadLibrary()");
AwBrowserProcess.loadLibrary();
Trace.traceEnd(Trace.TRACE_TAG_WEBVIEW);
+
+ final PackageInfo packageInfo = WebViewFactory.getLoadedPackageInfo();
+
+ // Register the handler that will append the WebView version to logcat in case of a crash.
+ AwContentsStatics.registerCrashHandler(
+ "Version " + packageInfo.versionName + " (code " + packageInfo.versionCode + ")");
+
// Load glue-layer support library.
System.loadLibrary("webviewchromium_plat_support");
@@ -129,7 +137,7 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
mWebViewPrefs = ActivityThread.currentApplication().getSharedPreferences(
CHROMIUM_PREFS_NAME, Context.MODE_PRIVATE);
int lastVersion = mWebViewPrefs.getInt(VERSION_CODE_PREF, 0);
- int currentVersion = WebViewFactory.getLoadedPackageInfo().versionCode;
+ int currentVersion = packageInfo.versionCode;
if (lastVersion > currentVersion) {
// The WebView package has been downgraded since we last ran in this application.
// Delete the WebView data directory's contents.