diff options
author | Patrick Scott <phanna@android.com> | 2009-08-24 13:46:09 -0400 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2009-08-24 13:59:55 -0400 |
commit | af31c3a42d48c9781b40587cf735f96352fe333a (patch) | |
tree | 93911cf75278e2e28e35c1b904453cb95a608980 /core/java/android/webkit/BrowserFrame.java | |
parent | 4e9718d6ae3433a3f78fddf158a15701101ba781 (diff) | |
download | frameworks_base-af31c3a42d48c9781b40587cf735f96352fe333a.zip frameworks_base-af31c3a42d48c9781b40587cf735f96352fe333a.tar.gz frameworks_base-af31c3a42d48c9781b40587cf735f96352fe333a.tar.bz2 |
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
Diffstat (limited to 'core/java/android/webkit/BrowserFrame.java')
-rw-r--r-- | core/java/android/webkit/BrowserFrame.java | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java index afa2c35..ce27fd7 100644 --- a/core/java/android/webkit/BrowserFrame.java +++ b/core/java/android/webkit/BrowserFrame.java @@ -343,17 +343,16 @@ class BrowserFrame extends Handler { 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(); |