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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java

Issue 2088443003: Shortcut ctrl+shift+T added on android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit fixes based on review. Created 4 years, 5 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/tabmodel/TabModelImpl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
index 85f5a65bc85bf78cee4009a29482dec305e01974..99cc2ef2b9d07225a76b32a01c99aaee7b7471f4 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -9,6 +9,7 @@ import org.chromium.base.ObserverList;
import org.chromium.base.TraceEvent;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
+import org.chromium.chrome.browser.ntp.RecentlyClosedBridge;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabCreatorManager.TabCreator;
@@ -45,6 +46,7 @@ public class TabModelImpl extends TabModelJniBridge {
private final TabPersistentStore mTabSaver;
private final TabModelDelegate mModelDelegate;
private final ObserverList<TabModelObserver> mObservers;
+ private RecentlyClosedBridge mRecentlyClosedBridge;
// Undo State Tracking -------------------------------------------------------------------------
@@ -81,6 +83,7 @@ public class TabModelImpl extends TabModelJniBridge {
mModelDelegate = modelDelegate;
mIsUndoSupported = supportUndo;
mObservers = new ObserverList<TabModelObserver>();
+ mRecentlyClosedBridge = new RecentlyClosedBridge(getProfile());
}
@Override
@@ -99,7 +102,7 @@ public class TabModelImpl extends TabModelJniBridge {
mRewoundList.destroy();
mTabs.clear();
mObservers.clear();
-
+ mRecentlyClosedBridge.destroy();
super.destroy();
}
@@ -738,4 +741,21 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean isSessionRestoreInProgress() {
return mModelDelegate.isSessionRestoreInProgress();
}
+
+ @Override
+ public void openMostRecentlyClosedTab() {
+ // First try to recover tab from rewound list, same as {@link UndoBarController}.
+ if (mRewoundList.hasPendingClosures()) {
+ Tab tab = mRewoundList.getNextRewindableTab();
+ if (tab == null) return;
+ cancelTabClosure(tab.getId());
+ return;
+ }
+
+ // If there are no pending closures in the rewound list,
+ // then try to restore the tab from the native tab restore service.
+ mRecentlyClosedBridge.openRecentlyClosedTab();
+ // If there is only one tab, select it.
+ if (getCount() == 1) setIndex(0, TabSelectionType.FROM_NEW);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698