| Index: chrome/browser/sessions/session_restore_delegate.cc
|
| diff --git a/chrome/browser/sessions/session_restore_delegate.cc b/chrome/browser/sessions/session_restore_delegate.cc
|
| index 28b2966f818c6a42ba26c4b1c9d1017cd44b0ec6..42f97e099456cf0e0ab0e63a04388e4e886805d8 100644
|
| --- a/chrome/browser/sessions/session_restore_delegate.cc
|
| +++ b/chrome/browser/sessions/session_restore_delegate.cc
|
| @@ -33,15 +33,18 @@ bool IsInternalPage(const GURL& url) {
|
|
|
| } // namespace
|
|
|
| -SessionRestoreDelegate::RestoredTab::RestoredTab(content::WebContents* contents,
|
| - bool is_active,
|
| - bool is_app,
|
| - bool is_pinned)
|
| +SessionRestoreDelegate::RestoredTab::RestoredTab(
|
| + content::WebContents* contents,
|
| + bool is_active,
|
| + bool is_app,
|
| + bool is_pinned,
|
| + base::TimeTicks last_activation_time)
|
| : contents_(contents),
|
| is_active_(is_active),
|
| is_app_(is_app),
|
| is_internal_page_(IsInternalPage(contents->GetLastCommittedURL())),
|
| - is_pinned_(is_pinned) {
|
| + is_pinned_(is_pinned),
|
| + last_activation_time_(last_activation_time) {
|
| }
|
|
|
| bool SessionRestoreDelegate::RestoredTab::operator<(
|
| @@ -56,7 +59,10 @@ bool SessionRestoreDelegate::RestoredTab::operator<(
|
| // Apps should be loaded before normal tabs.
|
| if (is_app_ != right.is_app_)
|
| return is_app_;
|
| - // TODO(georgesak): Add criterion based on recency.
|
| + // Restore using MRU. Behind an experiment for now.
|
| + if (SessionRestore::GetSmartRestoreMode() ==
|
| + SessionRestore::SMART_RESTORE_MODE_MRU)
|
| + return last_activation_time_ > right.last_activation_time_;
|
| return false;
|
| }
|
|
|
|
|