Chromium Code Reviews| Index: chrome/browser/android/recently_closed_tabs_bridge.cc |
| diff --git a/chrome/browser/android/recently_closed_tabs_bridge.cc b/chrome/browser/android/recently_closed_tabs_bridge.cc |
| index 771c815e70b9b7e507f46b5ea43618d09bc9e015..8a699ce0ba052b6629ea39d42d59af054ad19045 100644 |
| --- a/chrome/browser/android/recently_closed_tabs_bridge.cc |
| +++ b/chrome/browser/android/recently_closed_tabs_bridge.cc |
| @@ -10,6 +10,8 @@ |
| #include "chrome/browser/profiles/profile_android.h" |
| #include "chrome/browser/sessions/session_restore.h" |
| #include "chrome/browser/sessions/tab_restore_service_factory.h" |
| +#include "chrome/browser/ui/android/tab_model/tab_model_list.h" |
| +#include "components/sessions/core/live_tab.h" |
| #include "components/sessions/core/tab_restore_service.h" |
| #include "content/public/browser/web_contents.h" |
| #include "jni/RecentlyClosedBridge_jni.h" |
| @@ -126,6 +128,22 @@ jboolean RecentlyClosedTabsBridge::OpenRecentlyClosedTab( |
| return true; |
| } |
| +jboolean RecentlyClosedTabsBridge::OpenMostRecentlyClosedTab( |
| + JNIEnv* env, |
| + const base::android::JavaParamRef<jobject>& obj) { |
| + EnsureTabRestoreService(); |
| + if (!tab_restore_service_ || TabModelList::empty() || |
| + tab_restore_service_->entries().empty()) |
| + return false; |
| + |
| + // Passing nullptr here because LiveTabContext will be found in |
|
Theresa
2016/07/12 00:06:16
nit: "... will be determined later by a call to An
|
| + // AndroidLiveTabContext::FindLiveTabContextWithID. |
| + std::vector<sessions::LiveTab*> restored_tab = |
| + tab_restore_service_->RestoreMostRecentEntry(nullptr); |
| + |
| + return restored_tab.empty() ? false : true; |
| +} |
| + |
| void RecentlyClosedTabsBridge::ClearRecentlyClosedTabs( |
| JNIEnv* env, |
| const JavaParamRef<jobject>& obj) { |