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..5fc11397db77214f7bc2a781e6a69a8f521d5a67 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 |
@@ -7,7 +7,9 @@ |
import android.annotation.TargetApi; |
import android.content.Context; |
import android.os.Build; |
+import android.support.annotation.Nullable; |
+import org.chromium.base.Callback; |
import org.chromium.base.CommandLine; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.base.metrics.RecordUserAction; |
@@ -53,11 +55,11 @@ public TileGroupDelegateImpl(ChromeActivity activity, Profile profile, |
} |
@Override |
- public void removeMostVisitedItem(Tile item) { |
+ public void removeMostVisitedItem(Tile item, @Nullable Callback<String> removalUndoneCallback) { |
assert !mIsDestroyed; |
mMostVisitedSites.addBlacklistedUrl(item.getUrl()); |
- showTileRemovedSnackbar(item.getUrl()); |
+ showTileRemovedSnackbar(item.getUrl(), removalUndoneCallback); |
} |
@Override |
@@ -127,7 +129,8 @@ public static void setMostVisitedSitesForTests(MostVisitedSites mostVisitedSites |
sMostVisitedSitesForTests = mostVisitedSitesForTests; |
} |
- private void showTileRemovedSnackbar(String url) { |
+ private void showTileRemovedSnackbar( |
+ String url, @Nullable final Callback<String> removalUndoneCallback) { |
if (mTileRemovedSnackbarController == null) { |
mTileRemovedSnackbarController = new SnackbarController() { |
@Override |
@@ -138,6 +141,7 @@ public void onDismissNoAction(Object actionData) {} |
public void onAction(Object actionData) { |
if (mIsDestroyed) return; |
String url = (String) actionData; |
+ if (removalUndoneCallback != null) removalUndoneCallback.onResult(url); |
mMostVisitedSites.removeBlacklistedUrl(url); |
} |
}; |