Index: chrome/browser/sessions/base_session_service.cc |
diff --git a/chrome/browser/sessions/base_session_service.cc b/chrome/browser/sessions/base_session_service.cc |
index f85fc8f78faa8fb2a5c841eef7fcd03bd4b4ad76..05d61bf7213b1a55a42df2c457d4335db8df9d81 100644 |
--- a/chrome/browser/sessions/base_session_service.cc |
+++ b/chrome/browser/sessions/base_session_service.cc |
@@ -5,30 +5,14 @@ |
#include "chrome/browser/sessions/base_session_service.h" |
#include "base/bind.h" |
-#include "base/pickle.h" |
#include "base/threading/thread.h" |
#include "chrome/browser/sessions/base_session_service_delegate.h" |
#include "chrome/browser/sessions/session_backend.h" |
-#include "chrome/browser/sessions/session_types.h" |
// BaseSessionService --------------------------------------------------------- |
namespace { |
-// Helper used by CreateUpdateTabNavigationCommand(). It writes |str| to |
-// |pickle|, if and only if |str| fits within (|max_bytes| - |*bytes_written|). |
-// |bytes_written| is incremented to reflect the data written. |
-void WriteStringToPickle(Pickle& pickle, int* bytes_written, int max_bytes, |
- const std::string& str) { |
- int num_bytes = str.size() * sizeof(char); |
- if (*bytes_written + num_bytes < max_bytes) { |
- *bytes_written += num_bytes; |
- pickle.WriteString(str); |
- } else { |
- pickle.WriteString(std::string()); |
- } |
-} |
- |
// Helper used by ScheduleGetLastSessionCommands. It runs callback on TaskRunner |
// thread if it's not canceled. |
void RunIfNotCanceled( |
@@ -122,132 +106,6 @@ void BaseSessionService::Save() { |
} |
} |
-SessionCommand* BaseSessionService::CreateUpdateTabNavigationCommand( |
- SessionID::id_type command_id, |
- SessionID::id_type tab_id, |
- const sessions::SerializedNavigationEntry& navigation) { |
- // Use pickle to handle marshalling. |
- Pickle pickle; |
- pickle.WriteInt(tab_id); |
- // We only allow navigations up to 63k (which should be completely |
- // reasonable). |
- static const size_t max_state_size = |
- std::numeric_limits<SessionCommand::size_type>::max() - 1024; |
- navigation.WriteToPickle(max_state_size, &pickle); |
- return new SessionCommand(command_id, pickle); |
-} |
- |
-SessionCommand* BaseSessionService::CreateSetTabExtensionAppIDCommand( |
- SessionID::id_type command_id, |
- SessionID::id_type tab_id, |
- const std::string& extension_id) { |
- // Use pickle to handle marshalling. |
- Pickle pickle; |
- pickle.WriteInt(tab_id); |
- |
- // Enforce a max for ids. They should never be anywhere near this size. |
- static const SessionCommand::size_type max_id_size = |
- std::numeric_limits<SessionCommand::size_type>::max() - 1024; |
- |
- int bytes_written = 0; |
- |
- WriteStringToPickle(pickle, &bytes_written, max_id_size, extension_id); |
- |
- return new SessionCommand(command_id, pickle); |
-} |
- |
-SessionCommand* BaseSessionService::CreateSetTabUserAgentOverrideCommand( |
- SessionID::id_type command_id, |
- SessionID::id_type tab_id, |
- const std::string& user_agent_override) { |
- // Use pickle to handle marshalling. |
- Pickle pickle; |
- pickle.WriteInt(tab_id); |
- |
- // Enforce a max for the user agent length. They should never be anywhere |
- // near this size. |
- static const SessionCommand::size_type max_user_agent_size = |
- std::numeric_limits<SessionCommand::size_type>::max() - 1024; |
- |
- int bytes_written = 0; |
- |
- WriteStringToPickle(pickle, &bytes_written, max_user_agent_size, |
- user_agent_override); |
- |
- return new SessionCommand(command_id, pickle); |
-} |
- |
-SessionCommand* BaseSessionService::CreateSetWindowAppNameCommand( |
- SessionID::id_type command_id, |
- SessionID::id_type window_id, |
- const std::string& app_name) { |
- // Use pickle to handle marshalling. |
- Pickle pickle; |
- pickle.WriteInt(window_id); |
- |
- // Enforce a max for ids. They should never be anywhere near this size. |
- static const SessionCommand::size_type max_id_size = |
- std::numeric_limits<SessionCommand::size_type>::max() - 1024; |
- |
- int bytes_written = 0; |
- |
- WriteStringToPickle(pickle, &bytes_written, max_id_size, app_name); |
- |
- return new SessionCommand(command_id, pickle); |
-} |
- |
-bool BaseSessionService::RestoreUpdateTabNavigationCommand( |
- const SessionCommand& command, |
- sessions::SerializedNavigationEntry* navigation, |
- SessionID::id_type* tab_id) { |
- scoped_ptr<Pickle> pickle(command.PayloadAsPickle()); |
- if (!pickle.get()) |
- return false; |
- PickleIterator iterator(*pickle); |
- return |
- pickle->ReadInt(&iterator, tab_id) && |
- navigation->ReadFromPickle(&iterator); |
-} |
- |
-bool BaseSessionService::RestoreSetTabExtensionAppIDCommand( |
- const SessionCommand& command, |
- SessionID::id_type* tab_id, |
- std::string* extension_app_id) { |
- scoped_ptr<Pickle> pickle(command.PayloadAsPickle()); |
- if (!pickle.get()) |
- return false; |
- |
- PickleIterator iterator(*pickle); |
- return pickle->ReadInt(&iterator, tab_id) && |
- pickle->ReadString(&iterator, extension_app_id); |
-} |
- |
-bool BaseSessionService::RestoreSetTabUserAgentOverrideCommand( |
- const SessionCommand& command, |
- SessionID::id_type* tab_id, |
- std::string* user_agent_override) { |
- scoped_ptr<Pickle> pickle(command.PayloadAsPickle()); |
- if (!pickle.get()) |
- return false; |
- |
- PickleIterator iterator(*pickle); |
- return pickle->ReadInt(&iterator, tab_id) && |
- pickle->ReadString(&iterator, user_agent_override); |
-} |
- |
-bool BaseSessionService::RestoreSetWindowAppNameCommand( |
- const SessionCommand& command, |
- SessionID::id_type* window_id, |
- std::string* app_name) { |
- scoped_ptr<Pickle> pickle(command.PayloadAsPickle()); |
- if (!pickle.get()) |
- return false; |
- |
- PickleIterator iterator(*pickle); |
- return pickle->ReadInt(&iterator, window_id) && |
- pickle->ReadString(&iterator, app_name); |
-} |
- |
bool BaseSessionService::ShouldTrackEntry(const GURL& url) { |
return url.is_valid() && delegate_->ShouldTrackEntry(url); |
} |