Index: components/sessions/base_session_service.h |
diff --git a/components/sessions/base_session_service.h b/components/sessions/base_session_service.h |
deleted file mode 100644 |
index 2f4d32edb83ff18db03360562eb5406d251b13dd..0000000000000000000000000000000000000000 |
--- a/components/sessions/base_session_service.h |
+++ /dev/null |
@@ -1,137 +0,0 @@ |
-// Copyright 2012 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 COMPONENTS_SESSIONS_BASE_SESSION_SERVICE_H_ |
-#define COMPONENTS_SESSIONS_BASE_SESSION_SERVICE_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/callback.h" |
-#include "base/files/file_path.h" |
-#include "base/gtest_prod_util.h" |
-#include "base/memory/scoped_vector.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/task/cancelable_task_tracker.h" |
-#include "components/sessions/sessions_export.h" |
-#include "url/gurl.h" |
- |
- |
-namespace sessions { |
-class BaseSessionServiceDelegate; |
-class SerializedNavigationEntry; |
-class SessionCommand; |
-class SessionBackend; |
- |
-// BaseSessionService is the super class of both tab restore service and |
-// session service. It contains commonality needed by both, in particular |
-// it manages a set of SessionCommands that are periodically sent to a |
-// SessionBackend. |
-class SESSIONS_EXPORT BaseSessionService { |
- public: |
- // Identifies the type of session service this is. This is used by the |
- // backend to determine the name of the files. |
- enum SessionType { |
- SESSION_RESTORE, |
- TAB_RESTORE |
- }; |
- |
- typedef base::Callback<void(ScopedVector<SessionCommand>)> |
- GetCommandsCallback; |
- |
- // Creates a new BaseSessionService. After creation you need to invoke |
- // Init. |delegate| will remain owned by the creator and it is guaranteed |
- // that its lifetime surpasses this class. |
- // |type| gives the type of session service, |path| the path to save files to. |
- BaseSessionService(SessionType type, |
- const base::FilePath& path, |
- BaseSessionServiceDelegate* delegate); |
- ~BaseSessionService(); |
- |
- // Moves the current session to the last session. |
- void MoveCurrentSessionToLastSession(); |
- |
- // Deletes the last session. |
- void DeleteLastSession(); |
- |
- // Returns the set of commands which were scheduled to be written. Once |
- // committed to the backend, the commands are removed from here. |
- const ScopedVector<SessionCommand>& pending_commands() { |
- return pending_commands_; |
- } |
- |
- // Whether the next save resets the file before writing to it. |
- void set_pending_reset(bool value) { pending_reset_ = value; } |
- bool pending_reset() const { return pending_reset_; } |
- |
- // Returns the number of commands sent down since the last reset. |
- int commands_since_reset() const { return commands_since_reset_; } |
- |
- // Schedules a command. This adds |command| to pending_commands_ and |
- // invokes StartSaveTimer to start a timer that invokes Save at a later |
- // time. |
- void ScheduleCommand(scoped_ptr<SessionCommand> command); |
- |
- // Appends a command as part of a general rebuild. This will neither count |
- // against a rebuild, nor will it trigger a save of commands. |
- void AppendRebuildCommand(scoped_ptr<SessionCommand> command); |
- |
- // Erase the |old_command| from the list of commands. |
- // The passed command will automatically be deleted. |
- void EraseCommand(SessionCommand* old_command); |
- |
- // Swap a |new_command| into the list of queued commands at the location of |
- // the |old_command|. The |old_command| will be automatically deleted in the |
- // process. |
- void SwapCommand(SessionCommand* old_command, |
- scoped_ptr<SessionCommand> new_command); |
- |
- // Clears all commands from the list. |
- void ClearPendingCommands(); |
- |
- // Starts the timer that invokes Save (if timer isn't already running). |
- void StartSaveTimer(); |
- |
- // Passes all pending commands to the backend for saving. |
- void Save(); |
- |
- // Uses the backend to load the last session commands from disc. |callback| |
- // gets called once the data has arrived. |
- base::CancelableTaskTracker::TaskId ScheduleGetLastSessionCommands( |
- const GetCommandsCallback& callback, |
- base::CancelableTaskTracker* tracker); |
- |
- private: |
- friend class BaseSessionServiceTestHelper; |
- |
- // This posts the task to the SequencedWorkerPool, or run immediately |
- // if the SequencedWorkerPool has been shutdown. |
- void RunTaskOnBackendThread(const tracked_objects::Location& from_here, |
- const base::Closure& task); |
- |
- // The backend object which reads and saves commands. |
- scoped_refptr<SessionBackend> backend_; |
- |
- // Commands we need to send over to the backend. |
- ScopedVector<SessionCommand> pending_commands_; |
- |
- // Whether the backend file should be recreated the next time we send |
- // over the commands. |
- bool pending_reset_; |
- |
- // The number of commands sent to the backend before doing a reset. |
- int commands_since_reset_; |
- |
- BaseSessionServiceDelegate* delegate_; |
- |
- // A token to make sure that all tasks will be serialized. |
- base::SequencedWorkerPool::SequenceToken sequence_token_; |
- |
- // Used to invoke Save. |
- base::WeakPtrFactory<BaseSessionService> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(BaseSessionService); |
-}; |
- |
-} // namespace sessions |
- |
-#endif // COMPONENTS_SESSIONS_BASE_SESSION_SERVICE_H_ |