Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1000)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentlyClosedBridge.java

Issue 2610143002: Add RecentTabsPageTest (Closed)
Patch Set: Undo the prefs changes. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentlyClosedBridge.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentlyClosedBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentlyClosedBridge.java
index a760b2ef9883647ba7d067f82d4f7f4945305cfe..32423e9f043d98c94f5da864911e70b7a57111a2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentlyClosedBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentlyClosedBridge.java
@@ -14,37 +14,9 @@ import java.util.List;
/**
* This class allows Java code to get and clear the list of recently closed tabs.
*/
-public class RecentlyClosedBridge {
- private long mNativeRecentlyClosedTabsBridge;
-
- /**
- * Callback interface for getting notified when the list of recently closed tabs is updated.
- */
- interface RecentlyClosedCallback {
- /**
- * This method will be called every time the list of recently closed tabs is updated.
- *
- * It's a good place to call {@link RecentlyClosedBridge#getRecentlyClosedTabs} to get the
- * updated list of tabs.
- */
- @CalledByNative("RecentlyClosedCallback")
- void onUpdated();
- }
-
- /**
- * Represents a recently closed tab.
- */
- static class RecentlyClosedTab {
- public final int id;
- public final String title;
- public final String url;
-
- private RecentlyClosedTab(int id, String title, String url) {
- this.id = id;
- this.title = title;
- this.url = url;
- }
- }
+public class RecentlyClosedBridge implements RecentlyClosedTabManager {
+ private long mNativeBridge;
+ private RecentlyClosedCallback mCallback;
Bernhard Bauer 2017/01/04 11:54:16 Maybe mark this as @Nullable?
Michael van Ouwerkerk 2017/01/05 11:02:14 Done.
@CalledByNative
private static void pushTab(
@@ -58,34 +30,37 @@ public class RecentlyClosedBridge {
* @param profile The Profile whose recently closed tabs will be queried.
*/
public RecentlyClosedBridge(Profile profile) {
- mNativeRecentlyClosedTabsBridge = nativeInit(profile);
+ mNativeBridge = nativeInit(profile);
}
/**
* Cleans up the C++ side of this class. This instance must not be used after calling destroy().
*/
public void destroy() {
- assert mNativeRecentlyClosedTabsBridge != 0;
- nativeDestroy(mNativeRecentlyClosedTabsBridge);
- mNativeRecentlyClosedTabsBridge = 0;
+ assert mNativeBridge != 0;
+ nativeDestroy(mNativeBridge);
+ mNativeBridge = 0;
+ mCallback = null;
}
/**
* Sets the callback to be called whenever the list of recently closed tabs changes.
- * @param callback The RecentlyClosedCallback to be notified, or null.
+ * @param callback The {@link RecentlyClosedTabManager.RecentlyClosedCallback} to be notified,
+ * or null.
*/
- void setRecentlyClosedCallback(RecentlyClosedCallback callback) {
- nativeSetRecentlyClosedCallback(mNativeRecentlyClosedTabsBridge, callback);
+ @Override
+ public void setRecentlyClosedCallback(RecentlyClosedCallback callback) {
+ mCallback = callback;
}
/**
* @param maxTabCount The maximum number of recently closed tabs to return.
* @return The list of recently closed tabs, with up to maxTabCount elements.
*/
- List<RecentlyClosedTab> getRecentlyClosedTabs(int maxTabCount) {
+ @Override
+ public List<RecentlyClosedTab> getRecentlyClosedTabs(int maxTabCount) {
List<RecentlyClosedTab> tabs = new ArrayList<RecentlyClosedTab>();
- boolean received = nativeGetRecentlyClosedTabs(mNativeRecentlyClosedTabsBridge, tabs,
- maxTabCount);
+ boolean received = nativeGetRecentlyClosedTabs(mNativeBridge, tabs, maxTabCount);
return received ? tabs : null;
}
@@ -99,31 +74,39 @@ public class RecentlyClosedBridge {
* the current tab or a new tab.
* @return Whether the tab was successfully opened.
*/
- boolean openRecentlyClosedTab(Tab tab, RecentlyClosedTab recentTab,
- int windowOpenDisposition) {
- return nativeOpenRecentlyClosedTab(mNativeRecentlyClosedTabsBridge, tab, recentTab.id,
- windowOpenDisposition);
+ @Override
+ public boolean openRecentlyClosedTab(
+ Tab tab, RecentlyClosedTab recentTab, int windowOpenDisposition) {
+ return nativeOpenRecentlyClosedTab(mNativeBridge, tab, recentTab.id, windowOpenDisposition);
}
/**
* Opens the most recently closed tab in a new tab by reading data from the native tab restore
* service.
*/
+ @Override
public void openRecentlyClosedTab() {
- nativeOpenMostRecentlyClosedTab(mNativeRecentlyClosedTabsBridge);
+ nativeOpenMostRecentlyClosedTab(mNativeBridge);
}
/**
* Clears all recently closed tabs.
*/
- void clearRecentlyClosedTabs() {
- nativeClearRecentlyClosedTabs(mNativeRecentlyClosedTabsBridge);
+ @Override
+ public void clearRecentlyClosedTabs() {
+ nativeClearRecentlyClosedTabs(mNativeBridge);
+ }
+
+ /**
+ * This method will be called every time the list of recently closed tabs is updated.
+ */
+ @CalledByNative
+ private void onUpdated() {
+ if (mCallback != null) mCallback.onUpdated();
}
private native long nativeInit(Profile profile);
private native void nativeDestroy(long nativeRecentlyClosedTabsBridge);
- private native void nativeSetRecentlyClosedCallback(
- long nativeRecentlyClosedTabsBridge, RecentlyClosedCallback callback);
private native boolean nativeGetRecentlyClosedTabs(
long nativeRecentlyClosedTabsBridge, List<RecentlyClosedTab> tabs, int maxTabCount);
private native boolean nativeOpenRecentlyClosedTab(long nativeRecentlyClosedTabsBridge,

Powered by Google App Engine
This is Rietveld 408576698