| Index: chrome/browser/sync/glue/session_model_associator.cc
|
| diff --git a/chrome/browser/sync/glue/session_model_associator.cc b/chrome/browser/sync/glue/session_model_associator.cc
|
| index ab9b205fe7979cefcb89d9ac72383c0406e57b7d..26f6c71553d061ff5e10976daf85dde7732da35d 100644
|
| --- a/chrome/browser/sync/glue/session_model_associator.cc
|
| +++ b/chrome/browser/sync/glue/session_model_associator.cc
|
| @@ -153,17 +153,7 @@ bool SessionModelAssociator::AssociateWindows(bool reload_tabs,
|
| synced_session_tracker_.GetSession(local_tag);
|
| current_session->modified_time = base::Time::Now();
|
| header_s->set_client_name(current_session_name_);
|
| -#if defined(OS_CHROMEOS)
|
| - header_s->set_device_type(sync_pb::SessionHeader_DeviceType_TYPE_CROS);
|
| -#elif defined(OS_LINUX)
|
| - header_s->set_device_type(sync_pb::SessionHeader_DeviceType_TYPE_LINUX);
|
| -#elif defined(OS_MACOSX)
|
| - header_s->set_device_type(sync_pb::SessionHeader_DeviceType_TYPE_MAC);
|
| -#elif defined(OS_WIN)
|
| - header_s->set_device_type(sync_pb::SessionHeader_DeviceType_TYPE_WIN);
|
| -#else
|
| - header_s->set_device_type(sync_pb::SessionHeader_DeviceType_TYPE_OTHER);
|
| -#endif
|
| + header_s->set_device_type(GetLocalDeviceType());
|
|
|
| synced_session_tracker_.ResetSessionTracking(local_tag);
|
| std::set<SyncedWindowDelegate*> windows =
|
| @@ -721,6 +711,12 @@ void SessionModelAssociator::PopulateSessionHeaderFromSpecifics(
|
| case sync_pb::SessionHeader_DeviceType_TYPE_CROS:
|
| session_header->device_type = SyncedSession::TYPE_CHROMEOS;
|
| break;
|
| + case sync_pb::SessionHeader_DeviceType_TYPE_PHONE:
|
| + session_header->device_type = SyncedSession::TYPE_PHONE;
|
| + break;
|
| + case sync_pb::SessionHeader_DeviceType_TYPE_TABLET:
|
| + session_header->device_type = SyncedSession::TYPE_TABLET;
|
| + break;
|
| case sync_pb::SessionHeader_DeviceType_TYPE_OTHER:
|
| // Intentionally fall-through
|
| default:
|
| @@ -1083,6 +1079,24 @@ bool SessionModelAssociator::TabHasValidEntry(
|
| return found_valid_url;
|
| }
|
|
|
| +sync_pb::SessionHeader::DeviceType
|
| +SessionModelAssociator::GetLocalDeviceType() {
|
| +#if defined(OS_CHROMEOS)
|
| + return sync_pb::SessionHeader_DeviceType_TYPE_CROS;
|
| +#elif defined(OS_LINUX)
|
| + return sync_pb::SessionHeader_DeviceType_TYPE_LINUX;
|
| +#elif defined(OS_MACOSX)
|
| + return sync_pb::SessionHeader_DeviceType_TYPE_MAC;
|
| +#elif defined(OS_WIN)
|
| + return sync_pb::SessionHeader_DeviceType_TYPE_WIN;
|
| +#elif defined(OS_ANDROID)
|
| + // TODO(yfriedman): Add logic to conditionally set device_type to tablet.
|
| + return sync_pb::SessionHeader_DeviceType_TYPE_PHONE;
|
| +#else
|
| + return sync_pb::SessionHeader_DeviceType_TYPE_OTHER;
|
| +#endif
|
| +}
|
| +
|
| // If this functionality changes, SyncedSession::ShouldSyncSessionTab should be
|
| // modified to match.
|
| bool SessionModelAssociator::ShouldSyncTab(const SyncedTabDelegate& tab) const {
|
|
|