Check for a null history item to avoid crashing.

The history item may be null if this page is loaded through loadDataWithBaseURL
so we cannot count on the item being non-null.

Bug: 2073490
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index afa2c35..ce27fd7f9 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -343,17 +343,16 @@
         switch (msg.what) {
             case FRAME_COMPLETED: {
                 if (mSettings.getSavePassword() && hasPasswordField()) {
-                    if (DebugFlags.BROWSER_FRAME) {
-                        Assert.assertNotNull(mCallbackProxy.getBackForwardList()
-                                .getCurrentItem());
-                    }
-                    WebAddress uri = new WebAddress(
-                            mCallbackProxy.getBackForwardList().getCurrentItem()
-                            .getUrl());
-                    String schemePlusHost = uri.mScheme + uri.mHost;
-                    String[] up = mDatabase.getUsernamePassword(schemePlusHost);
-                    if (up != null && up[0] != null) {
-                        setUsernamePassword(up[0], up[1]);
+                    WebHistoryItem item = mCallbackProxy.getBackForwardList()
+                            .getCurrentItem();
+                    if (item != null) {
+                        WebAddress uri = new WebAddress(item.getUrl());
+                        String schemePlusHost = uri.mScheme + uri.mHost;
+                        String[] up =
+                                mDatabase.getUsernamePassword(schemePlusHost);
+                        if (up != null && up[0] != null) {
+                            setUsernamePassword(up[0], up[1]);
+                        }
                     }
                 }
                 CacheManager.trimCacheIfNeeded();