| 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..59bdd1b87d2cab06566df0beb821c8d15418fddf 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,23 @@ 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 determined later by
|
| + // a call to AndroidLiveTabContext::FindLiveTabContextWithID in
|
| + // ChromeTabRestoreServiceClient.
|
| + std::vector<sessions::LiveTab*> restored_tab =
|
| + tab_restore_service_->RestoreMostRecentEntry(nullptr);
|
| +
|
| + return !restored_tab.empty();
|
| +}
|
| +
|
| void RecentlyClosedTabsBridge::ClearRecentlyClosedTabs(
|
| JNIEnv* env,
|
| const JavaParamRef<jobject>& obj) {
|
|
|