Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/OptionalLeaf.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/OptionalLeaf.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/OptionalLeaf.java |
index 7bda849695ebe655abc73973361dec34264e00d6..19af66a7e1d450439f28075e4181d70d359ff0c7 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/OptionalLeaf.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/OptionalLeaf.java |
@@ -7,7 +7,6 @@ package org.chromium.chrome.browser.ntp.cards; |
import android.support.annotation.CallSuper; |
import org.chromium.base.Callback; |
-import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; |
import java.util.Collections; |
import java.util.Set; |
@@ -41,12 +40,6 @@ public abstract class OptionalLeaf extends ChildNode { |
} |
@Override |
- public SnippetArticle getSuggestionAt(int position) { |
- checkIndex(position); |
- return null; |
- } |
- |
- @Override |
public Set<Integer> getItemDismissalGroup(int position) { |
checkIndex(position); |
return canBeDismissed() ? Collections.singleton(0) : Collections.<Integer>emptySet(); |
@@ -58,6 +51,11 @@ public abstract class OptionalLeaf extends ChildNode { |
dismiss(itemRemovedCallback); |
} |
+ @Override |
+ public final void visitItems(NodeVisitor visitor) { |
+ if (mVisible) visitOptionalItem(visitor); |
+ } |
+ |
/** @return Whether the optional item is currently visible. */ |
public final boolean isVisible() { |
return mVisible; |
@@ -112,4 +110,10 @@ public abstract class OptionalLeaf extends ChildNode { |
protected void dismiss(Callback<String> itemRemovedCallback) { |
assert false; |
} |
+ |
+ /** |
+ * Visits this item. This method is called iff the optional item is currently visible. |
+ * @param visitor The visitor with which to visit this item. |
+ */ |
+ protected abstract void visitOptionalItem(NodeVisitor visitor); |
} |