Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bdf8fa0c authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Fix some destroy bugs" into jb-mr1-dev

parents 4899d6f7 095e8aa0
Loading
Loading
Loading
Loading
+9 −20
Original line number Original line Diff line number Diff line
@@ -27,7 +27,6 @@ import android.content.ClipboardManager;
import android.content.ComponentCallbacks2;
import android.content.ComponentCallbacks2;
import android.content.Context;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager;
@@ -69,7 +68,6 @@ import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.DisplayMetrics;
import android.util.EventLog;
import android.util.EventLog;
import android.util.Log;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
import android.view.HapticFeedbackConstants;
import android.view.HardwareCanvas;
import android.view.HardwareCanvas;
@@ -87,7 +85,6 @@ import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.ViewParent;
import android.view.ViewRootImpl;
import android.view.ViewRootImpl;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo;
@@ -136,9 +133,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Map;
import java.util.Set;
import java.util.Set;
import java.util.Vector;
import java.util.Vector;
import java.util.concurrent.CountDownLatch;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


/**
/**
 * Implements a backend provider for the {@link WebView} public API.
 * Implements a backend provider for the {@link WebView} public API.
@@ -1891,9 +1885,9 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
                            mSavePasswordDialog = null;
                            mSavePasswordDialog = null;
                        }
                        }
                    })
                    })
                    .setOnCancelListener(new OnCancelListener() {
                    .setOnDismissListener(new DialogInterface.OnDismissListener() {
                        @Override
                        @Override
                        public void onCancel(DialogInterface dialog) {
                        public void onDismiss(DialogInterface dialog) {
                            if (mResumeMsg != null) {
                            if (mResumeMsg != null) {
                                resumeMsg.sendToTarget();
                                resumeMsg.sendToTarget();
                                mResumeMsg = null;
                                mResumeMsg = null;
@@ -2098,14 +2092,18 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
        hideSoftKeyboard();
        hideSoftKeyboard();
        clearActionModes();
        clearActionModes();
        dismissFullScreenMode();
        dismissFullScreenMode();
        cancelSelectDialog();
        cancelDialogs();
    }
    }


    private void cancelSelectDialog() {
    private void cancelDialogs() {
        if (mListBoxDialog != null) {
        if (mListBoxDialog != null) {
            mListBoxDialog.cancel();
            mListBoxDialog.cancel();
            mListBoxDialog = null;
            mListBoxDialog = null;
        }
        }
        if (mSavePasswordDialog != null) {
            mSavePasswordDialog.dismiss();
            mSavePasswordDialog = null;
        }
    }
    }


    /**
    /**
@@ -2133,15 +2131,6 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc


    private void destroyJava() {
    private void destroyJava() {
        mCallbackProxy.blockMessages();
        mCallbackProxy.blockMessages();
        clearHelpers();
        if (mListBoxDialog != null) {
            mListBoxDialog.dismiss();
            mListBoxDialog = null;
        }
        if (mSavePasswordDialog != null) {
            mSavePasswordDialog.dismiss();
            mSavePasswordDialog = null;
        }
        if (mWebViewCore != null) {
        if (mWebViewCore != null) {
            // Tell WebViewCore to destroy itself
            // Tell WebViewCore to destroy itself
            synchronized (this) {
            synchronized (this) {
@@ -3492,7 +3481,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc
                nativeSetPauseDrawing(mNativeClass, true);
                nativeSetPauseDrawing(mNativeClass, true);
            }
            }


            cancelSelectDialog();
            cancelDialogs();
            WebCoreThreadWatchdog.pause();
            WebCoreThreadWatchdog.pause();
        }
        }
    }
    }