Index: chrome/android/java/src/org/chromium/chrome/browser/TabBase.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java b/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java |
index bf83f23cea6a5490a5b5155e0bdcc6fde855a0d9..9d2a8495619dba503abbb4f3f7f44d0519622ee8 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/TabBase.java |
@@ -7,12 +7,12 @@ package org.chromium.chrome.browser; |
import android.content.Context; |
import android.text.TextUtils; |
+import org.chromium.base.ObserverList; |
import org.chromium.content.browser.ContentView; |
import org.chromium.content.browser.LoadUrlParams; |
import org.chromium.content.common.CleanupReference; |
import org.chromium.ui.gfx.NativeWindow; |
-import java.util.ArrayList; |
import java.util.List; |
/** |
@@ -23,7 +23,7 @@ public class TabBase { |
private ContentView mContentView; |
private ChromeWebContentsDelegateAndroid mWebContentsDelegate; |
private int mNativeTabBaseAndroidImpl; |
- private List<TabObserver> mObservers = new ArrayList<TabObserver>(); |
+ private ObserverList<TabObserver> mObservers = new ObserverList<TabObserver>(); |
private CleanupReference mCleanupReference; |
@@ -70,8 +70,8 @@ public class TabBase { |
* be used. |
*/ |
public void destroy() { |
- for (int i = 0; i < mObservers.size(); ++i) { |
- mObservers.get(i).onCloseTab(TabBase.this); |
+ for (TabObserver observer : mObservers) { |
+ observer.onCloseTab(TabBase.this); |
} |
destroyContentView(); |
if (mNativeTabBaseAndroidImpl != 0) { |
@@ -84,14 +84,14 @@ public class TabBase { |
* @param observer The {@link TabObserver} that should be notified of changes. |
*/ |
public void addObserver(TabObserver observer) { |
- mObservers.add(observer); |
+ mObservers.addObserver(observer); |
} |
/** |
* @param observer The {@link TabObserver} that should no longer be notified of changes. |
*/ |
public void removeObserver(TabObserver observer) { |
- mObservers.remove(observer); |
+ mObservers.removeObserver(observer); |
} |
/** |
@@ -157,15 +157,15 @@ public class TabBase { |
extends ChromeWebContentsDelegateAndroid { |
@Override |
public void onLoadProgressChanged(int progress) { |
- for (int i = 0; i < mObservers.size(); ++i) { |
- mObservers.get(i).onLoadProgressChanged(TabBase.this, progress); |
+ for (TabObserver observer : mObservers) { |
+ observer.onLoadProgressChanged(TabBase.this, progress); |
} |
} |
@Override |
public void onUpdateUrl(String url) { |
- for (int i = 0; i < mObservers.size(); ++i) { |
- mObservers.get(i).onUpdateUrl(TabBase.this, url); |
+ for (TabObserver observer : mObservers) { |
+ observer.onUpdateUrl(TabBase.this, url); |
} |
} |
@@ -185,4 +185,4 @@ public class TabBase { |
private native void nativeInitWebContentsDelegate(int nativeTabBaseAndroidImpl, |
ChromeWebContentsDelegateAndroid chromeWebContentsDelegateAndroid); |
private native String nativeFixupUrl(int nativeTabBaseAndroidImpl, String url); |
-} |
+} |