Index: chrome/browser/sessions/session_restore.cc |
diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc |
index 7598e0f746e8d59a1dcacca4e0100dd99e5a7672..0bd63a8aa899b76586af0a74c45bb8f6e7608365 100644 |
--- a/chrome/browser/sessions/session_restore.cc |
+++ b/chrome/browser/sessions/session_restore.cc |
@@ -276,6 +276,10 @@ class SessionRestoreImpl : public content::NotificationObserver { |
Profile* profile() { return profile_; } |
+ void AddURLsToOpen(const std::vector<GURL>& urls) { |
+ urls_to_open_.insert(urls_to_open_.end(), urls.begin(), urls.end()); |
+ } |
+ |
private: |
// Invoked when done with creating all the tabs/browsers. |
// |
@@ -848,5 +852,19 @@ SessionRestore::CallbackSubscription |
} |
// static |
+void SessionRestore::AddURLsToOpen(const Profile* profile, |
+ const std::vector<GURL>& urls) { |
+ for (std::set<SessionRestoreImpl*>::const_iterator it = |
+ active_session_restorers->begin(); |
+ it != active_session_restorers->end(); ++it) { |
+ if ((*it)->profile() == profile) { |
+ (*it)->AddURLsToOpen(urls); |
+ return; |
+ } |
+ } |
+ NOTREACHED() << "Failed to add urls to open for session restore"; |
+} |
+ |
+// static |
base::CallbackList<void(int)>* |
SessionRestore::on_session_restored_callbacks_ = nullptr; |