| Index: chrome/browser/sessions/tab_restore_service.h
|
| diff --git a/chrome/browser/sessions/tab_restore_service.h b/chrome/browser/sessions/tab_restore_service.h
|
| index ee8dba1e46ebbda210f5910f8959d6c7f3ab5994..c318050cd5bfa2c9e5507d1f279368191eb08d91 100644
|
| --- a/chrome/browser/sessions/tab_restore_service.h
|
| +++ b/chrome/browser/sessions/tab_restore_service.h
|
| @@ -17,6 +17,7 @@
|
| #include "chrome/browser/sessions/session_id.h"
|
| #include "chrome/browser/sessions/session_types.h"
|
| #include "content/browser/in_process_webkit/session_storage_namespace.h"
|
| +#include "webkit/glue/window_open_disposition.h"
|
|
|
| class NavigationController;
|
| class Profile;
|
| @@ -153,12 +154,13 @@ class TabRestoreService : public BaseSessionService {
|
| void RestoreMostRecentEntry(TabRestoreServiceDelegate* delegate);
|
|
|
| // Restores an entry by id. If there is no entry with an id matching |id|,
|
| - // this does nothing. If |replace_existing_tab| is true and id identifies a
|
| - // tab, the newly created tab replaces the selected tab in |delegate|. If
|
| - // |delegate| is NULL, this creates a new window for the entry.
|
| + // this does nothing. If |delegate| is NULL, this creates a new window for the
|
| + // entry. |disposition| is respected, but the attributes (tabstrip index,
|
| + // browser window) of the tab when it was closed will be respected if
|
| + // disposition is UNKNOWN.
|
| void RestoreEntryById(TabRestoreServiceDelegate* delegate,
|
| SessionID::id_type id,
|
| - bool replace_existing_tab);
|
| + WindowOpenDisposition disposition);
|
|
|
| // Loads the tabs and previous session. This does nothing if the tabs
|
| // from the previous session have already been loaded.
|
| @@ -263,13 +265,13 @@ class TabRestoreService : public BaseSessionService {
|
| std::vector<Entry*>* loaded_entries);
|
|
|
| // This is a helper function for RestoreEntryById() for restoring a single
|
| - // tab. If |replace_existing_tab| is true, the newly created tab replaces the
|
| - // selected tab in |delegate|. If |delegate| is NULL, this creates a new
|
| - // window for the entry. This returns the TabRestoreServiceDelegate into which
|
| - // the tab was restored.
|
| + // tab. If |delegate| is NULL, this creates a new window for the entry. This
|
| + // returns the TabRestoreServiceDelegate into which the tab was restored.
|
| + // |disposition| will be respected, but if it is UNKNOWN then the tab's
|
| + // original attributes will be respected instead.
|
| TabRestoreServiceDelegate* RestoreTab(const Tab& tab,
|
| TabRestoreServiceDelegate* delegate,
|
| - bool replace_existing_tab);
|
| + WindowOpenDisposition disposition);
|
|
|
| // Returns true if |tab| has more than one navigation. If |tab| has more
|
| // than one navigation |tab->current_navigation_index| is constrained based
|
|
|