Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/TabBase.java

Issue 12388057: Android: Use ObserverList to maintain a list of observers/listeners (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix findbugs and Ted's comments Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
-}
+}

Powered by Google App Engine
This is Rietveld 408576698