12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef WEBLAYER_BROWSER_PERSISTENCE_BROWSER_PERSISTENCE_COMMON_H_
- #define WEBLAYER_BROWSER_PERSISTENCE_BROWSER_PERSISTENCE_COMMON_H_
- #include <memory>
- #include <vector>
- class SessionID;
- namespace sessions {
- class SessionCommand;
- }
- // Common functions used in persisting/restoring the state (tabs, navigations)
- // of a Browser.
- namespace weblayer {
- class BrowserImpl;
- class Tab;
- class TabImpl;
- // Restores browser state from |commands|. This ensures |browser| contains at
- // least one tab when done.
- void RestoreBrowserState(
- BrowserImpl* browser,
- std::vector<std::unique_ptr<sessions::SessionCommand>> commands);
- // Creates and returns the minimal set of SessionCommands to configure a tab.
- // This does not include any navigations.
- std::vector<std::unique_ptr<sessions::SessionCommand>>
- BuildCommandsForTabConfiguration(const SessionID& browser_session_id,
- TabImpl* tab,
- int index_in_browser);
- // Convenience to return the SessionID for a Tab.
- const SessionID& GetSessionIDForTab(Tab* tab);
- } // namespace weblayer
- #endif // WEBLAYER_BROWSER_PERSISTENCE_BROWSER_PERSISTENCE_COMMON_H_
|