diff options
author | 2010-06-04 11:07:49 -0700 | |
---|---|---|
committer | 2010-06-04 11:08:36 -0700 | |
commit | 2d743fe2f39397d41334001d897eb78da56e94ef (patch) | |
tree | 329c927aa7b709608d488d4271a95aa32df062a1 | |
parent | e896d41699ffe7be932102d7ccc9566f41ddb447 (diff) | |
parent | fb59fbf14e3d8580ad8702343795f03b2f823295 (diff) |
merge from open-source master
Change-Id: Ic9060d92c014d6cbe9d90ce8deca8fa111711471
-rw-r--r-- | core/java/android/webkit/WebView.java | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index 921d0f559118..ac23832900cc 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -1380,16 +1380,23 @@ public class WebView extends AbsoluteLayout final File temp = new File(dest.getPath() + ".writing"); new Thread(new Runnable() { public void run() { + FileOutputStream out = null; try { - FileOutputStream out = new FileOutputStream(temp); + out = new FileOutputStream(temp); p.writeToStream(out); - out.close(); // Writing the picture succeeded, rename the temporary file // to the destination. temp.renameTo(dest); } catch (Exception e) { // too late to do anything about it. } finally { + if (out != null) { + try { + out.close(); + } catch (Exception e) { + // Can't do anything about that + } + } temp.delete(); } } @@ -1442,20 +1449,23 @@ public class WebView extends AbsoluteLayout final Bundle copy = new Bundle(b); new Thread(new Runnable() { public void run() { - final Picture p = Picture.createFromStream(in); - if (p != null) { - // Post a runnable on the main thread to update the - // history picture fields. - mPrivateHandler.post(new Runnable() { - public void run() { - restoreHistoryPictureFields(p, copy); - } - }); - } try { - in.close(); - } catch (Exception e) { - // Nothing we can do now. + final Picture p = Picture.createFromStream(in); + if (p != null) { + // Post a runnable on the main thread to update the + // history picture fields. + mPrivateHandler.post(new Runnable() { + public void run() { + restoreHistoryPictureFields(p, copy); + } + }); + } + } finally { + try { + in.close(); + } catch (Exception e) { + // Nothing we can do now. + } } } }).start(); |