| Index: chrome/browser/sessions/tab_restore_service_browsertest.cc
|
| diff --git a/chrome/browser/sessions/tab_restore_service_browsertest.cc b/chrome/browser/sessions/tab_restore_service_browsertest.cc
|
| index b11738bea2e54d00c76c440b7ef81726b35cdfc8..c495361705b294b9bf9b17d2ba3fbc4d6938b169 100644
|
| --- a/chrome/browser/sessions/tab_restore_service_browsertest.cc
|
| +++ b/chrome/browser/sessions/tab_restore_service_browsertest.cc
|
| @@ -616,3 +616,24 @@ TEST_F(TabRestoreServiceTest, PruneEntries) {
|
| static_cast<Tab*>(service_->entries_.front())->
|
| navigations[1].virtual_url());
|
| }
|
| +
|
| +// Regression test for crbug.com/106082
|
| +TEST_F(TabRestoreServiceTest, PruneIsCalled) {
|
| + CreateSessionServiceWithOneWindow(false);
|
| +
|
| + SessionServiceFactory::GetForProfile(profile())->
|
| + MoveCurrentSessionToLastSession();
|
| +
|
| + profile()->set_restored_last_session(true);
|
| +
|
| + const size_t max_entries = TabRestoreService::kMaxEntries;
|
| + for (size_t i = 0; i < max_entries + 5; i++) {
|
| + NavigateAndCommit(GURL(StringPrintf("http://%d", static_cast<int>(i))));
|
| + service_->CreateHistoricalTab(&controller(), -1);
|
| + }
|
| +
|
| + EXPECT_EQ(max_entries, service_->entries_.size());
|
| + // This should not crash.
|
| + service_->LoadTabsFromLastSession();
|
| + EXPECT_EQ(max_entries, service_->entries_.size());
|
| +}
|
|
|