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

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: Removed unused includes in recently_closed_tab_bridge.cc 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..7ea0a2630cc90a3f1d0be0cb5dceef25b4bbd5a8 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();
}
@@ -720,8 +723,11 @@ public class TabModelImpl extends TabModelJniBridge {
@Override
protected boolean createTabWithWebContents(Tab parent, boolean incognito,
WebContents webContents, int parentId) {
+ // TODO(xingliu): figure out if TabLaunchType.FROM_LONGPRESS_FOREGROUND affects
Theresa 2016/07/07 19:00:13 We need to figure this out before the CL lands. I
xingliu 2016/07/08 21:26:48 change it back to background, and add code to fix
+ // other features. FROM_LONGPRESS_FOREGROUND makes tab restored in foreground when called
+ // from native code.
return getTabCreator(incognito).createTabWithWebContents(parent, webContents, parentId,
- TabLaunchType.FROM_LONGPRESS_BACKGROUND);
+ TabLaunchType.FROM_LONGPRESS_FOREGROUND);
}
@Override
@@ -738,4 +744,19 @@ 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();
Theresa 2016/07/07 19:00:12 Should we record any UMA for this? Maybe just a us
xingliu 2016/07/08 21:26:47 Done in ChromeTabbedActivity.onMenuOrKeyboardActio
+ }
}

Powered by Google App Engine
This is Rietveld 408576698