Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(566)

Unified Diff: chrome/browser/sync/glue/session_model_associator.cc

Issue 9664008: Add Phone/Tablet device types for syncing session from Android. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: self-review Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 {

Powered by Google App Engine
This is Rietveld 408576698