| Index: chrome/browser/sessions/persistent_tab_restore_service.cc
|
| diff --git a/chrome/browser/sessions/persistent_tab_restore_service.cc b/chrome/browser/sessions/persistent_tab_restore_service.cc
|
| index da03acffdca21a488c767796a41e4b0fb1d65b6d..bc7555ca5290ac70acbf3655e306783466a65626 100644
|
| --- a/chrome/browser/sessions/persistent_tab_restore_service.cc
|
| +++ b/chrome/browser/sessions/persistent_tab_restore_service.cc
|
| @@ -155,19 +155,19 @@ class PersistentTabRestoreService::Delegate
|
| void ScheduleCommandsForTab(const Tab& tab, int selected_index);
|
|
|
| // Creates a window close command.
|
| - static SessionCommand* CreateWindowCommand(SessionID::id_type id,
|
| - int selected_tab_index,
|
| - int num_tabs,
|
| - base::Time timestamp);
|
| + static scoped_ptr<SessionCommand> CreateWindowCommand(SessionID::id_type id,
|
| + int selected_tab_index,
|
| + int num_tabs,
|
| + base::Time timestamp);
|
|
|
| // Creates a tab close command.
|
| - static SessionCommand* CreateSelectedNavigationInTabCommand(
|
| + static scoped_ptr<SessionCommand> CreateSelectedNavigationInTabCommand(
|
| SessionID::id_type tab_id,
|
| int32 index,
|
| base::Time timestamp);
|
|
|
| // Creates a restore command.
|
| - static SessionCommand* CreateRestoredEntryCommand(
|
| + static scoped_ptr<SessionCommand> CreateRestoredEntryCommand(
|
| SessionID::id_type entry_id);
|
|
|
| // Returns the index to persist as the selected index. This is the same as
|
| @@ -294,7 +294,7 @@ void PersistentTabRestoreService::Delegate::OnClearEntries() {
|
| // Mark all the tabs as closed so that we don't attempt to restore them.
|
| const Entries& entries = tab_restore_service_helper_->entries();
|
| for (Entries::const_iterator i = entries.begin(); i != entries.end(); ++i)
|
| - ScheduleCommand(CreateRestoredEntryCommand((*i)->id));
|
| + ScheduleCommand(CreateRestoredEntryCommand((*i)->id).Pass());
|
|
|
| entries_to_write_ = 0;
|
|
|
| @@ -303,7 +303,7 @@ void PersistentTabRestoreService::Delegate::OnClearEntries() {
|
|
|
| // Schedule a command, otherwise if there are no pending commands Save does
|
| // nothing.
|
| - ScheduleCommand(CreateRestoredEntryCommand(1));
|
| + ScheduleCommand(CreateRestoredEntryCommand(1).Pass());
|
| }
|
|
|
| void PersistentTabRestoreService::Delegate::OnRestoreEntryById(
|
| @@ -317,7 +317,7 @@ void PersistentTabRestoreService::Delegate::OnRestoreEntryById(
|
| if (static_cast<int>(index) < entries_to_write_)
|
| entries_to_write_--;
|
|
|
| - ScheduleCommand(CreateRestoredEntryCommand(id));
|
| + ScheduleCommand(CreateRestoredEntryCommand(id).Pass());
|
| }
|
|
|
| void PersistentTabRestoreService::Delegate::OnAddEntry() {
|
| @@ -411,12 +411,12 @@ void PersistentTabRestoreService::Delegate::ScheduleCommandsForWindow(
|
| CreateWindowCommand(window.id,
|
| std::min(real_selected_tab, valid_tab_count - 1),
|
| valid_tab_count,
|
| - window.timestamp));
|
| + window.timestamp).Pass());
|
|
|
| if (!window.app_name.empty()) {
|
| ScheduleCommand(CreateSetWindowAppNameCommand(kCommandSetWindowAppName,
|
| window.id,
|
| - window.app_name));
|
| + window.app_name).Pass());
|
| }
|
|
|
| for (size_t i = 0; i < window.tabs.size(); ++i) {
|
| @@ -448,28 +448,28 @@ void PersistentTabRestoreService::Delegate::ScheduleCommandsForTab(
|
| ScheduleCommand(
|
| CreateSelectedNavigationInTabCommand(tab.id,
|
| valid_count_before_selected,
|
| - tab.timestamp));
|
| + tab.timestamp).Pass());
|
|
|
| if (tab.pinned) {
|
| PinnedStatePayload payload = true;
|
| - SessionCommand* command =
|
| - new SessionCommand(kCommandPinnedState, sizeof(payload));
|
| + scoped_ptr<SessionCommand> command(
|
| + new SessionCommand(kCommandPinnedState, sizeof(payload)));
|
| memcpy(command->contents(), &payload, sizeof(payload));
|
| - ScheduleCommand(command);
|
| + ScheduleCommand(command.Pass());
|
| }
|
|
|
| if (!tab.extension_app_id.empty()) {
|
| ScheduleCommand(CreateSetTabExtensionAppIDCommand(
|
| kCommandSetExtensionAppID,
|
| tab.id,
|
| - tab.extension_app_id));
|
| + tab.extension_app_id).Pass());
|
| }
|
|
|
| if (!tab.user_agent_override.empty()) {
|
| ScheduleCommand(CreateSetTabUserAgentOverrideCommand(
|
| kCommandSetTabUserAgentOverride,
|
| tab.id,
|
| - tab.user_agent_override));
|
| + tab.user_agent_override).Pass());
|
| }
|
|
|
| // Then write the navigations.
|
| @@ -485,7 +485,8 @@ void PersistentTabRestoreService::Delegate::ScheduleCommandsForTab(
|
| }
|
|
|
| // static
|
| -SessionCommand* PersistentTabRestoreService::Delegate::CreateWindowCommand(
|
| +scoped_ptr<SessionCommand>
|
| +PersistentTabRestoreService::Delegate::CreateWindowCommand(
|
| SessionID::id_type id,
|
| int selected_tab_index,
|
| int num_tabs,
|
| @@ -499,14 +500,14 @@ SessionCommand* PersistentTabRestoreService::Delegate::CreateWindowCommand(
|
| payload.num_tabs = num_tabs;
|
| payload.timestamp = timestamp.ToInternalValue();
|
|
|
| - SessionCommand* command =
|
| - new SessionCommand(kCommandWindow, sizeof(payload));
|
| + scoped_ptr<SessionCommand> command(
|
| + new SessionCommand(kCommandWindow, sizeof(payload)));
|
| memcpy(command->contents(), &payload, sizeof(payload));
|
| return command;
|
| }
|
|
|
| // static
|
| -SessionCommand*
|
| +scoped_ptr<SessionCommand>
|
| PersistentTabRestoreService::Delegate::CreateSelectedNavigationInTabCommand(
|
| SessionID::id_type tab_id,
|
| int32 index,
|
| @@ -515,19 +516,19 @@ PersistentTabRestoreService::Delegate::CreateSelectedNavigationInTabCommand(
|
| payload.id = tab_id;
|
| payload.index = index;
|
| payload.timestamp = timestamp.ToInternalValue();
|
| - SessionCommand* command =
|
| - new SessionCommand(kCommandSelectedNavigationInTab, sizeof(payload));
|
| + scoped_ptr<SessionCommand> command(
|
| + new SessionCommand(kCommandSelectedNavigationInTab, sizeof(payload)));
|
| memcpy(command->contents(), &payload, sizeof(payload));
|
| return command;
|
| }
|
|
|
| // static
|
| -SessionCommand*
|
| +scoped_ptr<SessionCommand>
|
| PersistentTabRestoreService::Delegate::CreateRestoredEntryCommand(
|
| SessionID::id_type entry_id) {
|
| RestoredEntryPayload payload = entry_id;
|
| - SessionCommand* command =
|
| - new SessionCommand(kCommandRestoredEntry, sizeof(payload));
|
| + scoped_ptr<SessionCommand> command(
|
| + new SessionCommand(kCommandRestoredEntry, sizeof(payload)));
|
| memcpy(command->contents(), &payload, sizeof(payload));
|
| return command;
|
| }
|
|
|