Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/FakeRecentlyClosedTabManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/FakeRecentlyClosedTabManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/FakeRecentlyClosedTabManager.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5b5d374dff3d995cc6934541c11a1e0bdfe52bbd |
--- /dev/null |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/FakeRecentlyClosedTabManager.java |
@@ -0,0 +1,58 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.chrome.browser.ntp; |
+ |
+import android.support.annotation.Nullable; |
+ |
+import org.chromium.chrome.browser.tab.Tab; |
+ |
+import java.util.ArrayList; |
+import java.util.List; |
+ |
+/** |
+ * A fake implementation of {@link RecentlyClosedTabManager} for testing purposes. |
+ */ |
+public class FakeRecentlyClosedTabManager implements RecentlyClosedTabManager { |
+ @Nullable |
+ private Runnable mTabsUpdatedRunnable; |
+ private List<RecentlyClosedTab> mTabs = new ArrayList<>(); |
+ |
+ @Override |
+ public void setTabsUpdatedRunnable(@Nullable Runnable runnable) { |
+ mTabsUpdatedRunnable = runnable; |
+ } |
+ |
+ @Override |
+ public List<RecentlyClosedTab> getRecentlyClosedTabs(int maxTabCount) { |
+ List<RecentlyClosedTab> tabs = new ArrayList<>(); |
+ for (int i = 0; i < maxTabCount && i < mTabs.size(); i++) { |
+ tabs.add(mTabs.get(i)); |
+ } |
+ return tabs; |
+ } |
+ |
+ @Override |
+ public boolean openRecentlyClosedTab( |
+ Tab tab, RecentlyClosedTab recentTab, int windowOpenDisposition) { |
+ return false; |
+ } |
+ |
+ @Override |
+ public void openRecentlyClosedTab() {} |
+ |
+ @Override |
+ public void clearRecentlyClosedTabs() { |
+ mTabs.clear(); |
+ if (mTabsUpdatedRunnable != null) mTabsUpdatedRunnable.run(); |
+ } |
+ |
+ @Override |
+ public void destroy() {} |
+ |
+ public void setRecentlyClosedTabs(List<RecentlyClosedTab> tabs) { |
+ mTabs = new ArrayList<>(tabs); |
+ if (mTabsUpdatedRunnable != null) mTabsUpdatedRunnable.run(); |
+ } |
+} |