| 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);
|
| }
|
| };
|
|
|