diff options
Diffstat (limited to 'src/com/android')
| -rw-r--r-- | src/com/android/browser/BrowserSettings.java | 11 | ||||
| -rw-r--r-- | src/com/android/browser/BrowserWebView.java | 6 |
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(); + } + } |
