Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java |
index 3a3d8bd7d065aba3392d9dd2d18b93fccd93dbd0..8cac2c34197c68e55c9bf17bb4604ebe95dd13a6 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/TileGroupDelegateImpl.java |
@@ -8,6 +8,7 @@ |
import android.content.Context; |
import android.os.Build; |
+import org.chromium.base.Callback; |
import org.chromium.base.CommandLine; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.base.metrics.RecordUserAction; |
@@ -53,11 +54,11 @@ public TileGroupDelegateImpl(ChromeActivity activity, Profile profile, |
} |
@Override |
- public void removeMostVisitedItem(Tile item) { |
+ public void removeMostVisitedItem(Tile item, Callback<String> removalUndoneCallback) { |
assert !mIsDestroyed; |
mMostVisitedSites.addBlacklistedUrl(item.getUrl()); |
- showTileRemovedSnackbar(item.getUrl()); |
+ showTileRemovedSnackbar(item.getUrl(), removalUndoneCallback); |
} |
@Override |
@@ -127,7 +128,7 @@ public static void setMostVisitedSitesForTests(MostVisitedSites mostVisitedSites |
sMostVisitedSitesForTests = mostVisitedSitesForTests; |
} |
- private void showTileRemovedSnackbar(String url) { |
+ private void showTileRemovedSnackbar(String url, final Callback<String> removalUndoneCallback) { |
if (mTileRemovedSnackbarController == null) { |
mTileRemovedSnackbarController = new SnackbarController() { |
@Override |
@@ -138,6 +139,7 @@ public void onDismissNoAction(Object actionData) {} |
public void onAction(Object actionData) { |
if (mIsDestroyed) return; |
String url = (String) actionData; |
+ removalUndoneCallback.onResult(url); |
mMostVisitedSites.removeBlacklistedUrl(url); |
} |
}; |