Chromium Code Reviews| Index: chrome/browser/sessions/base_session_service_commands.h |
| diff --git a/chrome/browser/sessions/base_session_service_commands.h b/chrome/browser/sessions/base_session_service_commands.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..2937d74ca87e88314bdc821df8161de9cf1288bf |
| --- /dev/null |
| +++ b/chrome/browser/sessions/base_session_service_commands.h |
| @@ -0,0 +1,73 @@ |
| +// Copyright 2014 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 CHROME_BROWSER_SESSIONS_BASE_SESSION_SERVICE_COMMANDS_H_ |
| +#define CHROME_BROWSER_SESSIONS_BASE_SESSION_SERVICE_COMMANDS_H_ |
| + |
| +#include <string> |
| + |
| +#include "components/sessions/session_id.h" |
| + |
| +class SessionCommand; |
| + |
| +namespace sessions { |
| +class SerializedNavigationEntry; |
| +} |
| + |
| +// These commands create and read common base commands for SessionService and |
| +// PersistentTabRestoreService. |
| + |
|
sky
2014/10/28 22:52:38
Add a TODO to convert to returning scoped_ptr and
Mr4D (OOO till 08-26)
2014/10/29 02:04:13
Done.
|
| +// Creates a SessionCommand that represents a navigation. |
| +SessionCommand* CreateUpdateTabNavigationCommand( |
| + SessionID::id_type command_id, |
| + SessionID::id_type tab_id, |
| + const sessions::SerializedNavigationEntry& navigation); |
| + |
| +// Creates a SessionCommand that represents marking a tab as an application. |
| +SessionCommand* CreateSetTabExtensionAppIDCommand( |
| + SessionID::id_type command_id, |
| + SessionID::id_type tab_id, |
| + const std::string& extension_id); |
| + |
| +// Creates a SessionCommand that containing user agent override used by a |
| +// tab's navigations. |
| +SessionCommand* CreateSetTabUserAgentOverrideCommand( |
| + SessionID::id_type command_id, |
| + SessionID::id_type tab_id, |
| + const std::string& user_agent_override); |
| + |
| +// Creates a SessionCommand stores a browser window's app name. |
| +SessionCommand* CreateSetWindowAppNameCommand(SessionID::id_type command_id, |
| + SessionID::id_type window_id, |
| + const std::string& app_name); |
| + |
| +// Converts a SessionCommand previously created by |
| +// CreateUpdateTabNavigationCommand into a |
| +// sessions::SerializedNavigationEntry. Returns true on success. If |
| +// successful |tab_id| is set to the id of the restored tab. |
| +bool RestoreUpdateTabNavigationCommand( |
| + const SessionCommand& command, |
| + sessions::SerializedNavigationEntry* navigation, |
| + SessionID::id_type* tab_id); |
| + |
| +// Extracts a SessionCommand as previously created by |
| +// CreateSetTabExtensionAppIDCommand into the tab id and application |
| +// extension id. |
| +bool RestoreSetTabExtensionAppIDCommand(const SessionCommand& command, |
| + SessionID::id_type* tab_id, |
| + std::string* extension_app_id); |
| + |
| +// Extracts a SessionCommand as previously created by |
| +// CreateSetTabUserAgentOverrideCommand into the tab id and user agent. |
| +bool RestoreSetTabUserAgentOverrideCommand(const SessionCommand& command, |
| + SessionID::id_type* tab_id, |
| + std::string* user_agent_override); |
| + |
| +// Extracts a SessionCommand as previously created by |
| +// CreateSetWindowAppNameCommand into the window id and application name. |
| +bool RestoreSetWindowAppNameCommand(const SessionCommand& command, |
| + SessionID::id_type* window_id, |
| + std::string* app_name); |
| + |
| +#endif // CHROME_BROWSER_SESSIONS_BASE_SESSION_SERVICE_COMMANDS_H_ |