summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-03-08 13:31:51 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-03-08 13:31:51 -0800
commit0967caab7114a455b5e548e29158a0c2cf766c84 (patch)
treec8ed7bbb8385ce33985d8c684de28d171928220d /src
parentb18756768d7d24be572e14808bd3602a4a1ffa1d (diff)
parentd1d87315942218816a509798a299612ed674c21c (diff)
downloadpackages_apps_Browser-0967caab7114a455b5e548e29158a0c2cf766c84.tar.gz
packages_apps_Browser-0967caab7114a455b5e548e29158a0c2cf766c84.tar.bz2
packages_apps_Browser-0967caab7114a455b5e548e29158a0c2cf766c84.zip
Merge "Remove WebSettings from BrowserSettings in destroy"
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/BrowserSettings.java11
-rw-r--r--src/com/android/browser/BrowserWebView.java6
2 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index 4f4bb13d2..4fe93d6ed 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -161,6 +161,17 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener,
}
}
+ public void stopManagingSettings(WebSettings settings) {
+ Iterator<WeakReference<WebSettings>> iter = mManagedSettings.iterator();
+ while (iter.hasNext()) {
+ WeakReference<WebSettings> ref = iter.next();
+ if (ref.get() == settings) {
+ iter.remove();
+ return;
+ }
+ }
+ }
+
private Runnable mSetup = new Runnable() {
@Override
diff --git a/src/com/android/browser/BrowserWebView.java b/src/com/android/browser/BrowserWebView.java
index 7981d8ace..49d1a2e90 100644
--- a/src/com/android/browser/BrowserWebView.java
+++ b/src/com/android/browser/BrowserWebView.java
@@ -124,4 +124,10 @@ public class BrowserWebView extends WebView implements WebViewClassic.TitleBarDe
return false;
}
+ @Override
+ public void destroy() {
+ BrowserSettings.getInstance().stopManagingSettings(getSettings());
+ super.destroy();
+ }
+
}