summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/BrowserFrame.java
diff options
context:
space:
mode:
authorPatrick Scott <phanna@android.com>2009-08-24 13:46:09 -0400
committerPatrick Scott <phanna@android.com>2009-08-24 13:59:55 -0400
commitaf31c3a42d48c9781b40587cf735f96352fe333a (patch)
tree93911cf75278e2e28e35c1b904453cb95a608980 /core/java/android/webkit/BrowserFrame.java
parent4e9718d6ae3433a3f78fddf158a15701101ba781 (diff)
downloadframeworks_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.java21
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();