Index: components/sessions/core/tab_restore_service_helper.h |
diff --git a/components/sessions/core/tab_restore_service_helper.h b/components/sessions/core/tab_restore_service_helper.h |
index 8a9ed4840820534733f49219e5576f76bd5ea0b6..b6c3a47cb8412a78e14861e70f869ec381df149b 100644 |
--- a/components/sessions/core/tab_restore_service_helper.h |
+++ b/components/sessions/core/tab_restore_service_helper.h |
@@ -78,7 +78,7 @@ class SESSIONS_EXPORT TabRestoreServiceHelper { |
void ClearEntries(); |
const Entries& entries() const; |
std::vector<LiveTab*> RestoreMostRecentEntry(LiveTabContext* context); |
- Tab* RemoveTabEntryById(SessionID::id_type id); |
+ std::unique_ptr<Tab> RemoveTabEntryById(SessionID::id_type id); |
std::vector<LiveTab*> RestoreEntryById(LiveTabContext* context, |
SessionID::id_type id, |
WindowOpenDisposition disposition); |
@@ -89,11 +89,11 @@ class SESSIONS_EXPORT TabRestoreServiceHelper { |
// Notifies observers the service has loaded. |
void NotifyLoaded(); |
- // Adds |entry| to the list of entries and takes ownership. If |prune| is true |
- // |PruneAndNotify| is invoked. If |to_front| is true the entry is added to |
- // the front, otherwise the back. Normal closes go to the front, but |
- // tab/window closes from the previous session are added to the back. |
- void AddEntry(Entry* entry, bool prune, bool to_front); |
+ // Adds |entry| to the list of entries. If |prune| is true |PruneAndNotify| is |
+ // invoked. If |to_front| is true the entry is added to the front, otherwise |
+ // the back. Normal closes go to the front, but tab/window closes from the |
+ // previous session are added to the back. |
+ void AddEntry(std::unique_ptr<Entry> entry, bool prune, bool to_front); |
// Prunes |entries_| to contain only kMaxEntries, and removes uninteresting |
// entries. |
@@ -106,7 +106,7 @@ class SESSIONS_EXPORT TabRestoreServiceHelper { |
Entries::iterator GetEntryIteratorById(SessionID::id_type id); |
// Calls either ValidateTab or ValidateWindow as appropriate. |
- static bool ValidateEntry(Entry* entry); |
+ static bool ValidateEntry(const Entry& entry); |
private: |
friend class PersistentTabRestoreService; |
@@ -130,23 +130,22 @@ class SESSIONS_EXPORT TabRestoreServiceHelper { |
WindowOpenDisposition disposition, |
LiveTab** live_tab); |
- // Returns true if |tab| has more than one navigation. If |tab| has more |
- // than one navigation |tab->current_navigation_index| is constrained based |
- // on the number of navigations. |
- static bool ValidateTab(Tab* tab); |
+ // Returns true if |tab| has at least one navigation and |
+ // |tab->current_navigation_index| is in bounds. |
+ static bool ValidateTab(const Tab& tab); |
// Validates all the tabs in a window, plus the window's active tab index. |
- static bool ValidateWindow(Window* window); |
+ static bool ValidateWindow(const Window& window); |
// Returns true if |tab| is one we care about restoring. |
- bool IsTabInteresting(const Tab* tab); |
+ bool IsTabInteresting(const Tab& tab); |
// Checks whether |window| is interesting --- if it only contains a single, |
// uninteresting tab, it's not interesting. |
- bool IsWindowInteresting(const Window* window); |
+ bool IsWindowInteresting(const Window& window); |
// Validates and checks |entry| for interesting. |
- bool FilterEntry(Entry* entry); |
+ bool FilterEntry(const Entry& entry); |
// Finds tab entries with the old browser_id and sets it to the new one. |
void UpdateTabBrowserIDs(SessionID::id_type old_id, |