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

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: add incognito check in native code, based on code review feedback. Created 4 years, 6 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..d166ee2425e185534cd8c24881bb4708e87770eb 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();
}
@@ -721,7 +724,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents(Tab parent, boolean incognito,
WebContents webContents, int parentId) {
return getTabCreator(incognito).createTabWithWebContents(parent, webContents, parentId,
- TabLaunchType.FROM_LONGPRESS_BACKGROUND);
+ TabLaunchType.FROM_LONGPRESS_FOREGROUND);
Theresa 2016/06/29 23:53:29 I suspect that changing this affects other places
xingliu 2016/06/30 05:43:55 Used to investigate this a little bit, this change
Theresa 2016/06/30 20:50:24 If you go to "Recent tabs", long press on a recent
}
@Override
@@ -738,4 +741,23 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean isSessionRestoreInProgress() {
return mModelDelegate.isSessionRestoreInProgress();
}
+
+ /**
+ * Open most recent closed tab. first check if android tab model has pending closures.
+ * if not, use native code to fetch data from tab restore service.
+ */
+ @Override
+ public void openRecentClosedTab() {
+ // recover tab from rewind list in java, same as the undo snackbar.
Theresa 2016/06/29 23:53:29 nit: use proper sentence capitalization/punctuatio
xingliu 2016/06/30 05:43:55 Done.
+ // {@link UndoBarController}.
+ if (mRewoundList.hasPendingClosures()) {
+ Tab tab = mRewoundList.getNextRewindableTab();
+ if (tab == null) return;
+ cancelTabClosure(tab.getId());
+ return;
+ }
+
+ // if no pending closure in java, open it from tab restore service in native code.
Theresa 2016/06/29 23:53:29 nit: "If there are no pending closures in Java, ..
xingliu 2016/06/30 05:43:55 Done.
+ mRecentlyClosedBridge.openRecentClosedTab();
+ }
}

Powered by Google App Engine
This is Rietveld 408576698