| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sessions/persistent_tab_restore_service.h" | 5 #include "chrome/browser/sessions/persistent_tab_restore_service.h" |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/sessions/session_service.h" | 10 #include "chrome/browser/sessions/session_service.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 using content::NavigationEntry; | 39 using content::NavigationEntry; |
| 40 | 40 |
| 41 // Create subclass that overrides TimeNow so that we can control the time used | 41 // Create subclass that overrides TimeNow so that we can control the time used |
| 42 // for closed tabs and windows. | 42 // for closed tabs and windows. |
| 43 class PersistentTabRestoreTimeFactory : public TabRestoreService::TimeFactory { | 43 class PersistentTabRestoreTimeFactory : public TabRestoreService::TimeFactory { |
| 44 public: | 44 public: |
| 45 PersistentTabRestoreTimeFactory() : time_(base::Time::Now()) {} | 45 PersistentTabRestoreTimeFactory() : time_(base::Time::Now()) {} |
| 46 | 46 |
| 47 virtual ~PersistentTabRestoreTimeFactory() {} | 47 virtual ~PersistentTabRestoreTimeFactory() {} |
| 48 | 48 |
| 49 virtual base::Time TimeNow() { | 49 virtual base::Time TimeNow() OVERRIDE { |
| 50 return time_; | 50 return time_; |
| 51 } | 51 } |
| 52 | 52 |
| 53 private: | 53 private: |
| 54 base::Time time_; | 54 base::Time time_; |
| 55 }; | 55 }; |
| 56 | 56 |
| 57 class PersistentTabRestoreServiceTest : public ChromeRenderViewHostTestHarness { | 57 class PersistentTabRestoreServiceTest : public ChromeRenderViewHostTestHarness { |
| 58 public: | 58 public: |
| 59 PersistentTabRestoreServiceTest() | 59 PersistentTabRestoreServiceTest() |
| 60 : ui_thread_(content::BrowserThread::UI, &message_loop_) { | 60 : ui_thread_(content::BrowserThread::UI, &message_loop_) { |
| 61 url1_ = GURL("http://1"); | 61 url1_ = GURL("http://1"); |
| 62 url2_ = GURL("http://2"); | 62 url2_ = GURL("http://2"); |
| 63 url3_ = GURL("http://3"); | 63 url3_ = GURL("http://3"); |
| 64 user_agent_override_ = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19" | 64 user_agent_override_ = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19" |
| 65 " (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19"; | 65 " (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19"; |
| 66 } | 66 } |
| 67 | 67 |
| 68 ~PersistentTabRestoreServiceTest() { | 68 virtual ~PersistentTabRestoreServiceTest() { |
| 69 } | 69 } |
| 70 | 70 |
| 71 protected: | 71 protected: |
| 72 enum { | 72 enum { |
| 73 kMaxEntries = TabRestoreServiceHelper::kMaxEntries, | 73 kMaxEntries = TabRestoreServiceHelper::kMaxEntries, |
| 74 }; | 74 }; |
| 75 | 75 |
| 76 // testing::Test: | 76 // testing::Test: |
| 77 virtual void SetUp() OVERRIDE { | 77 virtual void SetUp() OVERRIDE { |
| 78 WebKit::initialize(webkit_platform_support_.Get()); | 78 WebKit::initialize(webkit_platform_support_.Get()); |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 for (size_t i = 0; i < max_entries + 5; i++) { | 685 for (size_t i = 0; i < max_entries + 5; i++) { |
| 686 NavigateAndCommit(GURL(StringPrintf("http://%d", static_cast<int>(i)))); | 686 NavigateAndCommit(GURL(StringPrintf("http://%d", static_cast<int>(i)))); |
| 687 service_->CreateHistoricalTab(web_contents(), -1); | 687 service_->CreateHistoricalTab(web_contents(), -1); |
| 688 } | 688 } |
| 689 | 689 |
| 690 EXPECT_EQ(max_entries, service_->entries().size()); | 690 EXPECT_EQ(max_entries, service_->entries().size()); |
| 691 // This should not crash. | 691 // This should not crash. |
| 692 service_->LoadTabsFromLastSession(); | 692 service_->LoadTabsFromLastSession(); |
| 693 EXPECT_EQ(max_entries, service_->entries().size()); | 693 EXPECT_EQ(max_entries, service_->entries().size()); |
| 694 } | 694 } |
| OLD | NEW |