[Sync] Fix namespaces for the sync_sessions component.

Things within a component should have a namespace that matches its name.

BUG=646685
TBR=jam

Review-Url: https://codereview.chromium.org/2343463003
Cr-Commit-Position: refs/heads/master@{#418878}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 0a499b2..e4f9f277 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3298,8 +3298,8 @@
       "sync/glue/synced_window_delegates_getter_android.h",
       "sync/profile_sync_service_android.cc",
       "sync/profile_sync_service_android.h",
-      "sync/sync_sessions_metrics_android.cc",
-      "sync/sync_sessions_metrics_android.h",
+      "sync/sessions/sync_sessions_metrics_android.cc",
+      "sync/sessions/sync_sessions_metrics_android.h",
     ]
     deps += [
       ":client_discourse_context_proto",
diff --git a/chrome/browser/android/chrome_jni_registrar.cc b/chrome/browser/android/chrome_jni_registrar.cc
index d866af4..b34faec2 100644
--- a/chrome/browser/android/chrome_jni_registrar.cc
+++ b/chrome/browser/android/chrome_jni_registrar.cc
@@ -126,7 +126,7 @@
 #include "chrome/browser/supervised_user/child_accounts/child_account_service_android.h"
 #include "chrome/browser/supervised_user/supervised_user_content_provider_android.h"
 #include "chrome/browser/sync/profile_sync_service_android.h"
-#include "chrome/browser/sync/sync_sessions_metrics_android.h"
+#include "chrome/browser/sync/sessions/sync_sessions_metrics_android.h"
 #include "chrome/browser/ui/android/autofill/autofill_keyboard_accessory_view.h"
 #include "chrome/browser/ui/android/autofill/autofill_popup_view_android.h"
 #include "chrome/browser/ui/android/autofill/card_unmask_prompt_view_android.h"
diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/favicon_helper.cc
index 58807252..1aa50af 100644
--- a/chrome/browser/android/favicon_helper.cc
+++ b/chrome/browser/android/favicon_helper.cc
@@ -197,7 +197,7 @@
   DCHECK(sync_service);
 
   scoped_refptr<base::RefCountedMemory> favicon_png;
-  sync_driver::OpenTabsUIDelegate* open_tabs =
+  sync_sessions::OpenTabsUIDelegate* open_tabs =
       sync_service->GetOpenTabsUIDelegate();
   DCHECK(open_tabs);
 
diff --git a/chrome/browser/android/foreign_session_helper.cc b/chrome/browser/android/foreign_session_helper.cc
index 8b0bd4e..7f51b26 100644
--- a/chrome/browser/android/foreign_session_helper.cc
+++ b/chrome/browser/android/foreign_session_helper.cc
@@ -34,8 +34,8 @@
 using base::android::ConvertUTF16ToJavaString;
 using base::android::ConvertUTF8ToJavaString;
 using base::android::ConvertJavaStringToUTF8;
-using sync_driver::OpenTabsUIDelegate;
-using sync_driver::SyncedSession;
+using sync_sessions::OpenTabsUIDelegate;
+using sync_sessions::SyncedSession;
 
 namespace {
 
@@ -74,7 +74,7 @@
   return true;
 }
 
-bool ShouldSkipSession(const sync_driver::SyncedSession& session) {
+bool ShouldSkipSession(const SyncedSession& session) {
   for (SyncedSession::SyncedWindowMap::const_iterator it =
       session.windows.begin(); it != session.windows.end(); ++it) {
     const sessions::SessionWindow  &window = *(it->second);
@@ -216,7 +216,7 @@
   if (!open_tabs)
     return false;
 
-  std::vector<const sync_driver::SyncedSession*> sessions;
+  std::vector<const SyncedSession*> sessions;
   if (!open_tabs->GetAllForeignSessions(&sessions))
     return false;
 
@@ -234,7 +234,7 @@
 
   // Note: we don't own the SyncedSessions themselves.
   for (size_t i = 0; i < sessions.size(); ++i) {
-    const sync_driver::SyncedSession& session = *(sessions[i]);
+    const SyncedSession& session = *(sessions[i]);
     if (ShouldSkipSession(session))
       continue;
 
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
index 7aed86a..a0e5897 100644
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -189,7 +189,7 @@
   return Profile::FromBrowserContext(web_contents()->GetBrowserContext());
 }
 
-browser_sync::SyncedTabDelegate* TabAndroid::GetSyncedTabDelegate() const {
+sync_sessions::SyncedTabDelegate* TabAndroid::GetSyncedTabDelegate() const {
   return synced_tab_delegate_.get();
 }
 
diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_android.h
index 67a8210..c973630 100644
--- a/chrome/browser/android/tab_android.h
+++ b/chrome/browser/android/tab_android.h
@@ -125,7 +125,7 @@
   // Helper methods to make it easier to access objects from the associated
   // WebContents.  Can return NULL.
   Profile* GetProfile() const;
-  browser_sync::SyncedTabDelegate* GetSyncedTabDelegate() const;
+  sync_sessions::SyncedTabDelegate* GetSyncedTabDelegate() const;
 
   void SetWindowSessionID(SessionID::id_type window_id);
   void SetSyncId(int sync_id);
diff --git a/chrome/browser/extensions/api/sessions/sessions_api.cc b/chrome/browser/extensions/api/sessions/sessions_api.cc
index 3534890..e4afd795 100644
--- a/chrome/browser/extensions/api/sessions/sessions_api.cc
+++ b/chrome/browser/extensions/api/sessions/sessions_api.cc
@@ -63,8 +63,8 @@
 
 // Comparator function for use with std::sort that will sort sessions by
 // descending modified_time (i.e., most recent first).
-bool SortSessionsByRecency(const sync_driver::SyncedSession* s1,
-                           const sync_driver::SyncedSession* s2) {
+bool SortSessionsByRecency(const sync_sessions::SyncedSession* s1,
+                           const sync_sessions::SyncedSession* s2) {
   return s1->modified_time > s2->modified_time;
 }
 
@@ -323,7 +323,7 @@
 }
 
 api::sessions::Device SessionsGetDevicesFunction::CreateDeviceModel(
-    const sync_driver::SyncedSession* session) {
+    const sync_sessions::SyncedSession* session) {
   int max_results = api::sessions::MAX_SESSION_RESULTS;
   // Already validated in RunAsync().
   std::unique_ptr<GetDevices::Params> params(
@@ -335,7 +335,7 @@
   device_struct.info = session->session_name;
   device_struct.device_name = session->session_name;
 
-  for (sync_driver::SyncedSession::SyncedWindowMap::const_iterator it =
+  for (sync_sessions::SyncedSession::SyncedWindowMap::const_iterator it =
            session->windows.begin();
        it != session->windows.end() &&
        static_cast<int>(device_struct.sessions.size()) < max_results;
@@ -358,8 +358,9 @@
     return true;
   }
 
-  sync_driver::OpenTabsUIDelegate* open_tabs = service->GetOpenTabsUIDelegate();
-  std::vector<const sync_driver::SyncedSession*> sessions;
+  sync_sessions::OpenTabsUIDelegate* open_tabs =
+      service->GetOpenTabsUIDelegate();
+  std::vector<const sync_sessions::SyncedSession*> sessions;
   if (!(open_tabs && open_tabs->GetAllForeignSessions(&sessions))) {
     results_ =
         GetDevices::Results::Create(std::vector<api::sessions::Device>());
@@ -501,7 +502,8 @@
     SetError(kSessionSyncError);
     return false;
   }
-  sync_driver::OpenTabsUIDelegate* open_tabs = service->GetOpenTabsUIDelegate();
+  sync_sessions::OpenTabsUIDelegate* open_tabs =
+      service->GetOpenTabsUIDelegate();
   if (!open_tabs) {
     SetError(kSessionSyncError);
     return false;
diff --git a/chrome/browser/extensions/api/sessions/sessions_api.h b/chrome/browser/extensions/api/sessions/sessions_api.h
index 6bdc9dd..6f8480581 100644
--- a/chrome/browser/extensions/api/sessions/sessions_api.h
+++ b/chrome/browser/extensions/api/sessions/sessions_api.h
@@ -19,7 +19,7 @@
 
 class Profile;
 
-namespace sync_driver {
+namespace sync_sessions {
 struct SyncedSession;
 }
 
@@ -61,7 +61,7 @@
       const sessions::SessionWindow& window,
       const std::string& session_tag);
   api::sessions::Device CreateDeviceModel(
-      const sync_driver::SyncedSession* session);
+      const sync_sessions::SyncedSession* session);
 };
 
 class SessionsRestoreFunction : public ChromeSyncExtensionFunction {
diff --git a/chrome/browser/extensions/api/sessions/sessions_apitest.cc b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
index 600f029..0dcaf7a 100644
--- a/chrome/browser/extensions/api/sessions/sessions_apitest.cc
+++ b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
@@ -263,7 +263,7 @@
     initial_data.push_back(syncer::SyncData::CreateRemoteData(
         1, entity, base::Time(), syncer::AttachmentIdList(),
         syncer::AttachmentServiceProxyForTest::Create(),
-        browser_sync::SessionsSyncManager::TagHashFromSpecifics(
+        sync_sessions::SessionsSyncManager::TagHashFromSpecifics(
             entity.session())));
     for (size_t i = 0; i < tabs.size(); i++) {
       sync_pb::EntitySpecifics entity;
@@ -271,7 +271,7 @@
       initial_data.push_back(syncer::SyncData::CreateRemoteData(
           i + 2, entity, base::Time(), syncer::AttachmentIdList(),
           syncer::AttachmentServiceProxyForTest::Create(),
-          browser_sync::SessionsSyncManager::TagHashFromSpecifics(
+          sync_sessions::SessionsSyncManager::TagHashFromSpecifics(
               entity.session())));
     }
   }
diff --git a/chrome/browser/sync/chrome_sync_client.cc b/chrome/browser/sync/chrome_sync_client.cc
index e845fb6..ebc28ea 100644
--- a/chrome/browser/sync/chrome_sync_client.cc
+++ b/chrome/browser/sync/chrome_sync_client.cc
@@ -129,7 +129,7 @@
 #if BUILDFLAG(ANDROID_JAVA_UI)
         // Android doesn't have multi-profile support, so no need to pass the
         // profile in.
-        new browser_sync::SyncedWindowDelegatesGetterAndroid());
+        new SyncedWindowDelegatesGetterAndroid());
 #else
         new browser_sync::BrowserSyncedWindowDelegatesGetter(profile));
 #endif
@@ -161,21 +161,23 @@
            !url.SchemeIs(chrome::kChromeNativeScheme) && !url.SchemeIsFile();
   }
 
-  SyncedWindowDelegatesGetter* GetSyncedWindowDelegatesGetter() override {
+  sync_sessions::SyncedWindowDelegatesGetter* GetSyncedWindowDelegatesGetter()
+      override {
     return window_delegates_getter_.get();
   }
 
-  std::unique_ptr<browser_sync::LocalSessionEventRouter>
+  std::unique_ptr<sync_sessions::LocalSessionEventRouter>
   GetLocalSessionEventRouter() override {
     syncer::SyncableService::StartSyncFlare flare(
         sync_start_util::GetFlareForSyncableService(profile_->GetPath()));
-    return base::MakeUnique<NotificationServiceSessionsRouter>(profile_, this,
-                                                               flare);
+    return base::MakeUnique<sync_sessions::NotificationServiceSessionsRouter>(
+        profile_, this, flare);
   }
 
  private:
   Profile* profile_;
-  std::unique_ptr<SyncedWindowDelegatesGetter> window_delegates_getter_;
+  std::unique_ptr<sync_sessions::SyncedWindowDelegatesGetter>
+      window_delegates_getter_;
 
   DISALLOW_COPY_AND_ASSIGN(SyncSessionsClientImpl);
 };
@@ -370,9 +372,8 @@
 #endif
     case syncer::FAVICON_IMAGES:
     case syncer::FAVICON_TRACKING: {
-      browser_sync::FaviconCache* favicons =
-          ProfileSyncServiceFactory::GetForProfile(profile_)->
-              GetFaviconCache();
+      sync_sessions::FaviconCache* favicons =
+          ProfileSyncServiceFactory::GetForProfile(profile_)->GetFaviconCache();
       return favicons ? favicons->AsWeakPtr()
                       : base::WeakPtr<syncer::SyncableService>();
     }
diff --git a/chrome/browser/sync/glue/session_sync_test_helper.cc b/chrome/browser/sync/glue/session_sync_test_helper.cc
deleted file mode 100644
index 16cae098..0000000
--- a/chrome/browser/sync/glue/session_sync_test_helper.cc
+++ /dev/null
@@ -1,147 +0,0 @@
-// Copyright 2013 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.
-
-#include "chrome/browser/sync/glue/session_sync_test_helper.h"
-
-#include <stddef.h>
-
-#include "base/strings/utf_string_conversions.h"
-#include "components/sync/protocol/session_specifics.pb.h"
-#include "components/sync/protocol/sync_enums.pb.h"
-#include "components/sync_sessions/synced_session.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-
-namespace browser_sync {
-
-static const char* kClientName = "name";
-static const char* kAppId = "app_id";
-static const char* kVirtualUrl = "http://foo/1";
-static const char* kReferrer = "referrer";
-static const char* kTitle = "title";
-
-// static
-void SessionSyncTestHelper::BuildSessionSpecifics(
-    const std::string& tag,
-    sync_pb::SessionSpecifics* meta) {
-  meta->set_session_tag(tag);
-  sync_pb::SessionHeader* header = meta->mutable_header();
-  header->set_device_type(sync_pb::SyncEnums_DeviceType_TYPE_LINUX);
-  header->set_client_name(kClientName);
-}
-
-// static
-void SessionSyncTestHelper::AddWindowSpecifics(
-    int window_id,
-    const std::vector<int>& tab_list,
-    sync_pb::SessionSpecifics* meta) {
-  sync_pb::SessionHeader* header = meta->mutable_header();
-  sync_pb::SessionWindow* window = header->add_window();
-  window->set_window_id(window_id);
-  window->set_selected_tab_index(0);
-  window->set_browser_type(sync_pb::SessionWindow_BrowserType_TYPE_TABBED);
-  for (std::vector<int>::const_iterator iter = tab_list.begin();
-       iter != tab_list.end(); ++iter) {
-    window->add_tab(*iter);
-  }
-}
-
-// static
-void SessionSyncTestHelper::VerifySyncedSession(
-    const std::string& tag,
-    const std::vector<std::vector<SessionID::id_type>>& windows,
-    const sync_driver::SyncedSession& session) {
-  ASSERT_EQ(tag, session.session_tag);
-  ASSERT_EQ(sync_driver::SyncedSession::TYPE_LINUX, session.device_type);
-  ASSERT_EQ(kClientName, session.session_name);
-  ASSERT_EQ(windows.size(), session.windows.size());
-
-  // We assume the window id's are in increasing order.
-  int i = 0;
-  for (std::vector<std::vector<int> >::const_iterator win_iter =
-           windows.begin();
-       win_iter != windows.end(); ++win_iter, ++i) {
-    sessions::SessionWindow* win_ptr;
-    sync_driver::SyncedSession::SyncedWindowMap::const_iterator map_iter =
-        session.windows.find(i);
-    if (map_iter != session.windows.end())
-      win_ptr = map_iter->second;
-    else
-      FAIL();
-    ASSERT_EQ(win_iter->size(), win_ptr->tabs.size());
-    ASSERT_EQ(0, win_ptr->selected_tab_index);
-    ASSERT_EQ(sessions::SessionWindow::TYPE_TABBED, win_ptr->type);
-    int j = 0;
-    for (std::vector<int>::const_iterator tab_iter = (*win_iter).begin();
-         tab_iter != (*win_iter).end(); ++tab_iter, ++j) {
-      sessions::SessionTab* tab = win_ptr->tabs[j];
-      ASSERT_EQ(*tab_iter, tab->tab_id.id());
-      ASSERT_EQ(1U, tab->navigations.size());
-      ASSERT_EQ(1, tab->tab_visual_index);
-      ASSERT_EQ(0, tab->current_navigation_index);
-      ASSERT_TRUE(tab->pinned);
-      ASSERT_EQ(kAppId, tab->extension_app_id);
-      ASSERT_EQ(1U, tab->navigations.size());
-      ASSERT_EQ(tab->navigations[0].virtual_url(), GURL(kVirtualUrl));
-      ASSERT_EQ(tab->navigations[0].referrer_url(), GURL(kReferrer));
-      ASSERT_EQ(tab->navigations[0].title(),
-                base::ASCIIToUTF16(kTitle));
-      ASSERT_TRUE(ui::PageTransitionTypeIncludingQualifiersIs(
-          tab->navigations[0].transition_type(), ui::PAGE_TRANSITION_TYPED));
-    }
-  }
-}
-
-void SessionSyncTestHelper::BuildTabSpecifics(
-    const std::string& tag,
-    int window_id,
-    int tab_id,
-    sync_pb::SessionSpecifics* tab_base) {
-  BuildTabSpecifics(tag, window_id, tab_id, ++max_tab_node_id_, tab_base);
-}
-
-void SessionSyncTestHelper::BuildTabSpecifics(
-    const std::string& tag,
-    int window_id,
-    int tab_id,
-    int tab_node_id,
-    sync_pb::SessionSpecifics* tab_base) {
-  tab_base->set_session_tag(tag);
-  tab_base->set_tab_node_id(tab_node_id);
-  sync_pb::SessionTab* tab = tab_base->mutable_tab();
-  tab->set_tab_id(tab_id);
-  tab->set_tab_visual_index(1);
-  tab->set_current_navigation_index(0);
-  tab->set_pinned(true);
-  tab->set_extension_app_id(kAppId);
-  sync_pb::TabNavigation* navigation = tab->add_navigation();
-  navigation->set_virtual_url(kVirtualUrl);
-  navigation->set_referrer(kReferrer);
-  navigation->set_title(kTitle);
-  navigation->set_page_transition(sync_pb::SyncEnums_PageTransition_TYPED);
-}
-
-void SessionSyncTestHelper::Reset() {
-  max_tab_node_id_ = 0;
-}
-
-sync_pb::SessionSpecifics SessionSyncTestHelper::BuildForeignSession(
-    const std::string& tag,
-    const std::vector<SessionID::id_type>& tab_list,
-    std::vector<sync_pb::SessionSpecifics>* tabs) {
-  sync_pb::SessionSpecifics meta;
-  BuildSessionSpecifics(tag, &meta);
-  AddWindowSpecifics(0, tab_list, &meta);
-  std::vector<sync_pb::SessionSpecifics> tabs1;
-  tabs1.resize(tab_list.size());
-  for (size_t i = 0; i < tab_list.size(); ++i) {
-    BuildTabSpecifics(tag, 0, tab_list[i], &tabs1[i]);
-  }
-
-  if (tabs)
-    tabs->swap(tabs1);
-  return meta;
-}
-
-}  // namespace browser_sync
diff --git a/chrome/browser/sync/glue/session_sync_test_helper.h b/chrome/browser/sync/glue/session_sync_test_helper.h
deleted file mode 100644
index f4055c0..0000000
--- a/chrome/browser/sync/glue/session_sync_test_helper.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2013 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 CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_
-#define CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_
-
-#include <string>
-#include <vector>
-
-#include "base/macros.h"
-#include "components/sessions/core/session_id.h"
-
-namespace sync_driver {
-struct SyncedSession;
-}
-
-namespace sync_pb {
-class SessionSpecifics;
-}
-
-namespace browser_sync {
-
-class SessionSyncTestHelper {
- public:
-  SessionSyncTestHelper() : max_tab_node_id_(0) {}
-
-  static void BuildSessionSpecifics(const std::string& tag,
-                                    sync_pb::SessionSpecifics* meta);
-
-  static void AddWindowSpecifics(int window_id,
-                                 const std::vector<int>& tab_list,
-                                 sync_pb::SessionSpecifics* meta);
-
-  static void VerifySyncedSession(
-      const std::string& tag,
-      const std::vector<std::vector<SessionID::id_type>>& windows,
-      const sync_driver::SyncedSession& session);
-
-  // Build a SessionSpecifics object with a tab and sample data. Uses a
-  // monotonically increasing variable to generate tab_node_ids and avoid
-  // conflicts.
-  void BuildTabSpecifics(const std::string& tag,
-                         int window_id,
-                         int tab_id,
-                         sync_pb::SessionSpecifics* tab_base);
-
-  // Overload of BuildTabSpecifics to allow forcing a specific tab_node_id.
-  // Typically only useful to test reusing tab_node_ids.
-  void BuildTabSpecifics(const std::string& tag,
-                         int window_id,
-                         int tab_id,
-                         int tab_node_id,
-                         sync_pb::SessionSpecifics* tab_base);
-
-  sync_pb::SessionSpecifics BuildForeignSession(
-      const std::string& tag,
-      const std::vector<SessionID::id_type>& tab_list,
-      std::vector<sync_pb::SessionSpecifics>* tabs);
-
-  void Reset();
-
- private:
-  int max_tab_node_id_;
-
-  DISALLOW_COPY_AND_ASSIGN(SessionSyncTestHelper);
-};
-
-}  // namespace browser_sync
-
-#endif  // CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_
diff --git a/chrome/browser/sync/glue/synced_tab_delegate_android.h b/chrome/browser/sync/glue/synced_tab_delegate_android.h
index e72c8f27..5b9bc37f 100644
--- a/chrome/browser/sync/glue/synced_tab_delegate_android.h
+++ b/chrome/browser/sync/glue/synced_tab_delegate_android.h
@@ -6,6 +6,7 @@
 #define CHROME_BROWSER_SYNC_GLUE_SYNCED_TAB_DELEGATE_ANDROID_H_
 
 #include <string>
+#include <vector>
 
 #include "base/compiler_specific.h"
 #include "base/macros.h"
@@ -24,7 +25,7 @@
 
 // SyncedTabDelegateAndroid wraps TabContentsSyncedTabDelegate and provides
 // a method to set web contents later when tab is brought to memory.
-class SyncedTabDelegateAndroid : public browser_sync::SyncedTabDelegate {
+class SyncedTabDelegateAndroid : public sync_sessions::SyncedTabDelegate {
  public:
   explicit SyncedTabDelegateAndroid(TabAndroid* owning_tab_);
   ~SyncedTabDelegateAndroid() override;
diff --git a/chrome/browser/sync/glue/synced_window_delegate_android.cc b/chrome/browser/sync/glue/synced_window_delegate_android.cc
index e0839dc..8ab0fdf6e 100644
--- a/chrome/browser/sync/glue/synced_window_delegate_android.cc
+++ b/chrome/browser/sync/glue/synced_window_delegate_android.cc
@@ -11,6 +11,8 @@
 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
 #include "content/public/browser/web_contents.h"
 
+using sync_sessions::SyncedTabDelegate;
+
 namespace browser_sync {
 
 // SyncedWindowDelegateAndroid implementations
diff --git a/chrome/browser/sync/glue/synced_window_delegate_android.h b/chrome/browser/sync/glue/synced_window_delegate_android.h
index be3089f..0db172c 100644
--- a/chrome/browser/sync/glue/synced_window_delegate_android.h
+++ b/chrome/browser/sync/glue/synced_window_delegate_android.h
@@ -12,17 +12,18 @@
 
 class TabModel;
 
+namespace sync_sessions {
+class SyncedTabDelegate;
+}  // namespace sync_sessions
+
 namespace browser_sync {
 
-class SyncedTabDelegate;
-
-class SyncedWindowDelegateAndroid : public browser_sync::SyncedWindowDelegate {
+class SyncedWindowDelegateAndroid : public sync_sessions::SyncedWindowDelegate {
  public:
   explicit SyncedWindowDelegateAndroid(TabModel* tab_model);
   ~SyncedWindowDelegateAndroid() override;
 
-  // browser_sync::SyncedWindowDelegate implementation.
-
+  // sync_sessions::SyncedWindowDelegate implementation.
   bool HasWindow() const override;
   SessionID::id_type GetSessionId() const override;
   int GetTabCount() const override;
@@ -30,8 +31,8 @@
   bool IsApp() const override;
   bool IsTypeTabbed() const override;
   bool IsTypePopup() const override;
-  bool IsTabPinned(const SyncedTabDelegate* tab) const override;
-  SyncedTabDelegate* GetTabAt(int index) const override;
+  bool IsTabPinned(const sync_sessions::SyncedTabDelegate* tab) const override;
+  sync_sessions::SyncedTabDelegate* GetTabAt(int index) const override;
   SessionID::id_type GetTabIdAt(int index) const override;
   bool IsSessionRestoreInProgress() const override;
   bool ShouldSync() const override;
@@ -42,6 +43,6 @@
   DISALLOW_COPY_AND_ASSIGN(SyncedWindowDelegateAndroid);
 };
 
-} // namespace browser_sync
+}  // namespace browser_sync
 
 #endif  // CHROME_BROWSER_SYNC_GLUE_SYNCED_WINDOW_DELEGATE_ANDROID_H_
diff --git a/chrome/browser/sync/glue/synced_window_delegates_getter_android.cc b/chrome/browser/sync/glue/synced_window_delegates_getter_android.cc
index fa4eccb4..3148e76 100644
--- a/chrome/browser/sync/glue/synced_window_delegates_getter_android.cc
+++ b/chrome/browser/sync/glue/synced_window_delegates_getter_android.cc
@@ -8,6 +8,8 @@
 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
 #include "components/sync_sessions/synced_window_delegate.h"
 
+using sync_sessions::SyncedWindowDelegate;
+
 namespace browser_sync {
 
 SyncedWindowDelegatesGetterAndroid::SyncedWindowDelegatesGetterAndroid() {}
diff --git a/chrome/browser/sync/glue/synced_window_delegates_getter_android.h b/chrome/browser/sync/glue/synced_window_delegates_getter_android.h
index 67aec951..73f0dcb1 100644
--- a/chrome/browser/sync/glue/synced_window_delegates_getter_android.h
+++ b/chrome/browser/sync/glue/synced_window_delegates_getter_android.h
@@ -10,19 +10,24 @@
 #include "base/macros.h"
 #include "components/sync_sessions/synced_window_delegates_getter.h"
 
+namespace sync_sessions {
+class SyncedWindowDelegate;
+}
+
 namespace browser_sync {
 
-class SyncedWindowDelegate;
-
 // This class defines how to access SyncedWindowDelegates on Android.
-class SyncedWindowDelegatesGetterAndroid : public SyncedWindowDelegatesGetter {
+class SyncedWindowDelegatesGetterAndroid
+    : public sync_sessions::SyncedWindowDelegatesGetter {
  public:
   SyncedWindowDelegatesGetterAndroid();
   ~SyncedWindowDelegatesGetterAndroid() override;
 
   // SyncedWindowDelegatesGetter implementation
-  std::set<const SyncedWindowDelegate*> GetSyncedWindowDelegates() override;
-  const SyncedWindowDelegate* FindById(SessionID::id_type id) override;
+  std::set<const sync_sessions::SyncedWindowDelegate*>
+  GetSyncedWindowDelegates() override;
+  const sync_sessions::SyncedWindowDelegate* FindById(
+      SessionID::id_type id) override;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(SyncedWindowDelegatesGetterAndroid);
diff --git a/chrome/browser/sync/sessions/notification_service_sessions_router.cc b/chrome/browser/sync/sessions/notification_service_sessions_router.cc
index 780ff29..1ce72a5 100644
--- a/chrome/browser/sync/sessions/notification_service_sessions_router.cc
+++ b/chrome/browser/sync/sessions/notification_service_sessions_router.cc
@@ -39,7 +39,7 @@
 using content::NavigationController;
 using content::WebContents;
 
-namespace browser_sync {
+namespace sync_sessions {
 
 namespace {
 
@@ -59,7 +59,7 @@
 
 NotificationServiceSessionsRouter::NotificationServiceSessionsRouter(
     Profile* profile,
-    sync_sessions::SyncSessionsClient* sessions_client,
+    SyncSessionsClient* sessions_client,
     const syncer::SyncableService::StartSyncFlare& flare)
     : handler_(NULL),
       profile_(profile),
@@ -210,4 +210,4 @@
   handler_ = NULL;
 }
 
-}  // namespace browser_sync
+}  // namespace sync_sessions
diff --git a/chrome/browser/sync/sessions/notification_service_sessions_router.h b/chrome/browser/sync/sessions/notification_service_sessions_router.h
index d4a2fee..51ca72a 100644
--- a/chrome/browser/sync/sessions/notification_service_sessions_router.h
+++ b/chrome/browser/sync/sessions/notification_service_sessions_router.h
@@ -5,6 +5,7 @@
 #ifndef CHROME_BROWSER_SYNC_SESSIONS_NOTIFICATION_SERVICE_SESSIONS_ROUTER_H_
 #define CHROME_BROWSER_SYNC_SESSIONS_NOTIFICATION_SERVICE_SESSIONS_ROUTER_H_
 
+#include <memory>
 #include <set>
 
 #include "base/callback_list.h"
@@ -22,10 +23,8 @@
 }
 
 namespace sync_sessions {
-class SyncSessionsClient;
-}
 
-namespace browser_sync {
+class SyncSessionsClient;
 
 // A SessionsSyncManager::LocalEventRouter that drives session sync via
 // the NotificationService.
@@ -35,7 +34,7 @@
  public:
   NotificationServiceSessionsRouter(
       Profile* profile,
-      sync_sessions::SyncSessionsClient* sessions_client_,
+      SyncSessionsClient* sessions_client_,
       const syncer::SyncableService::StartSyncFlare& flare);
   ~NotificationServiceSessionsRouter() override;
 
@@ -68,7 +67,7 @@
   LocalSessionEventHandler* handler_;
   content::NotificationRegistrar registrar_;
   Profile* const profile_;
-  sync_sessions::SyncSessionsClient* const sessions_client_;
+  SyncSessionsClient* const sessions_client_;
   syncer::SyncableService::StartSyncFlare flare_;
 
   std::unique_ptr<base::CallbackList<void(const std::set<GURL>&,
@@ -80,6 +79,6 @@
   DISALLOW_COPY_AND_ASSIGN(NotificationServiceSessionsRouter);
 };
 
-}  // namespace browser_sync
+}  // namespace sync_sessions
 
 #endif  // CHROME_BROWSER_SYNC_SESSIONS_NOTIFICATION_SERVICE_SESSIONS_ROUTER_H_
diff --git a/chrome/browser/sync/sessions/sessions_sync_manager_unittest.cc b/chrome/browser/sync/sessions/sessions_sync_manager_unittest.cc
index 7119cb4..3aa79245 100644
--- a/chrome/browser/sync/sessions/sessions_sync_manager_unittest.cc
+++ b/chrome/browser/sync/sessions/sessions_sync_manager_unittest.cc
@@ -14,7 +14,6 @@
 #include "build/build_config.h"
 #include "chrome/browser/sessions/session_tab_helper.h"
 #include "chrome/browser/sync/chrome_sync_client.h"
-#include "chrome/browser/sync/glue/session_sync_test_helper.h"
 #include "chrome/browser/sync/sessions/notification_service_sessions_router.h"
 #include "chrome/browser/ui/sync/browser_synced_window_delegates_getter.h"
 #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h"
@@ -30,6 +29,7 @@
 #include "components/sync/device_info/device_info.h"
 #include "components/sync/device_info/local_device_info_provider_mock.h"
 #include "components/sync/driver/sync_api_component_factory.h"
+#include "components/sync_sessions/session_sync_test_helper.h"
 #include "components/sync_sessions/sync_sessions_client.h"
 #include "components/sync_sessions/synced_tab_delegate.h"
 #include "components/sync_sessions/synced_window_delegate.h"
@@ -45,11 +45,10 @@
 using sync_driver::DeviceInfo;
 using sync_driver::LocalDeviceInfoProvider;
 using sync_driver::LocalDeviceInfoProviderMock;
-using sync_driver::SyncedSession;
 using syncer::SyncChange;
 using syncer::SyncData;
 
-namespace browser_sync {
+namespace sync_sessions {
 
 namespace {
 
@@ -210,11 +209,10 @@
       });
 }
 
-int CountIfTagMatches(
-    const std::vector<const sync_driver::SyncedSession*>& sessions,
-    const std::string& tag) {
+int CountIfTagMatches(const std::vector<const SyncedSession*>& sessions,
+                      const std::string& tag) {
   return std::count_if(sessions.begin(), sessions.end(),
-                       [&tag](const sync_driver::SyncedSession* session) {
+                       [&tag](const SyncedSession* session) {
                          return session->session_tag == tag;
                        });
 }
@@ -245,10 +243,9 @@
 
 // Provides ability to override SyncedWindowDelegatesGetter.
 // All other calls are passed through to the original SyncSessionsClient.
-class SyncSessionsClientShim : public sync_sessions::SyncSessionsClient {
+class SyncSessionsClientShim : public SyncSessionsClient {
  public:
-  SyncSessionsClientShim(
-      sync_sessions::SyncSessionsClient* sync_sessions_client)
+  explicit SyncSessionsClientShim(SyncSessionsClient* sync_sessions_client)
       : sync_sessions_client_(sync_sessions_client),
         synced_window_getter_(nullptr) {}
   ~SyncSessionsClientShim() override {}
@@ -269,8 +266,7 @@
     return sync_sessions_client_->ShouldSyncURL(url);
   }
 
-  browser_sync::SyncedWindowDelegatesGetter* GetSyncedWindowDelegatesGetter()
-      override {
+  SyncedWindowDelegatesGetter* GetSyncedWindowDelegatesGetter() override {
     // The idea here is to allow the test code override the default
     // SyncedWindowDelegatesGetter provided by |sync_sessions_client_|.
     // If |synced_window_getter_| is explicitly set, return it; otherwise return
@@ -280,19 +276,19 @@
                : sync_sessions_client_->GetSyncedWindowDelegatesGetter();
   }
 
-  std::unique_ptr<browser_sync::LocalSessionEventRouter>
-  GetLocalSessionEventRouter() override {
+  std::unique_ptr<LocalSessionEventRouter> GetLocalSessionEventRouter()
+      override {
     return sync_sessions_client_->GetLocalSessionEventRouter();
   }
 
   void set_synced_window_getter(
-      browser_sync::SyncedWindowDelegatesGetter* synced_window_getter) {
+      SyncedWindowDelegatesGetter* synced_window_getter) {
     synced_window_getter_ = synced_window_getter;
   }
 
  private:
-  sync_sessions::SyncSessionsClient* const sync_sessions_client_;
-  browser_sync::SyncedWindowDelegatesGetter* synced_window_getter_;
+  SyncSessionsClient* const sync_sessions_client_;
+  SyncedWindowDelegatesGetter* synced_window_getter_;
 };
 
 }  // namespace
@@ -316,8 +312,8 @@
     sync_client_.reset(new browser_sync::ChromeSyncClient(profile()));
     sessions_client_shim_.reset(
         new SyncSessionsClientShim(sync_client_->GetSyncSessionsClient()));
-    browser_sync::NotificationServiceSessionsRouter* router(
-        new browser_sync::NotificationServiceSessionsRouter(
+    NotificationServiceSessionsRouter* router(
+        new NotificationServiceSessionsRouter(
             profile(), GetSyncSessionsClient(),
             syncer::SyncableService::StartSyncFlare()));
     sync_prefs_.reset(new sync_driver::SyncPrefs(profile()->GetPrefs()));
@@ -392,18 +388,18 @@
     return list;
   }
 
-  sync_sessions::SyncSessionsClient* GetSyncSessionsClient() {
+  SyncSessionsClient* GetSyncSessionsClient() {
     return sessions_client_shim_.get();
   }
 
   sync_driver::SyncPrefs* sync_prefs() { return sync_prefs_.get(); }
 
-  browser_sync::SyncedWindowDelegatesGetter* get_synced_window_getter() {
+  SyncedWindowDelegatesGetter* get_synced_window_getter() {
     return manager()->synced_window_delegates_getter();
   }
 
   void set_synced_window_getter(
-      browser_sync::SyncedWindowDelegatesGetter* synced_window_getter) {
+      SyncedWindowDelegatesGetter* synced_window_getter) {
     sessions_client_shim_->set_synced_window_getter(synced_window_getter);
   }
 
@@ -578,7 +574,7 @@
   int GetSyncId() const override { return sync_id_; }
   void SetSyncId(int sync_id) override { sync_id_ = sync_id; }
 
-  bool ShouldSync(sync_sessions::SyncSessionsClient* sessions_client) override {
+  bool ShouldSync(SyncSessionsClient* sessions_client) override {
     return false;
   }
 
@@ -1781,7 +1777,7 @@
   EXPECT_EQ(1, CountIfTagMatches(output, bad_header_tag));
   EXPECT_EQ(1, CountIfTagMatches(output, bad_tab_tag));
 
-  std::vector<const sync_driver::SyncedSession*> sessions;
+  std::vector<const SyncedSession*> sessions;
   manager()->session_tracker_.LookupAllForeignSessions(
       &sessions, SyncedSessionTracker::RAW);
   ASSERT_EQ(2U, sessions.size());
@@ -2606,4 +2602,4 @@
   }
 }
 
-}  // namespace browser_sync
+}  // namespace sync_sessions
diff --git a/chrome/browser/sync/sync_sessions_metrics_android.cc b/chrome/browser/sync/sessions/sync_sessions_metrics_android.cc
similarity index 90%
rename from chrome/browser/sync/sync_sessions_metrics_android.cc
rename to chrome/browser/sync/sessions/sync_sessions_metrics_android.cc
index f057722..e14bef7 100644
--- a/chrome/browser/sync/sync_sessions_metrics_android.cc
+++ b/chrome/browser/sync/sessions/sync_sessions_metrics_android.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/sync/sync_sessions_metrics_android.h"
+#include "chrome/browser/sync/sessions/sync_sessions_metrics_android.h"
 
 #include <string>
 
@@ -38,8 +38,8 @@
       ProfileSyncService* sync =
           ProfileSyncServiceFactory::GetForProfile(profile);
       if (sync) {
-        browser_sync::SessionsSyncManager* sessions =
-            static_cast<browser_sync::SessionsSyncManager*>(
+        sync_sessions::SessionsSyncManager* sessions =
+            static_cast<sync_sessions::SessionsSyncManager*>(
                 sync->GetSessionsSyncableService());
         if (sessions) {
           sync_sessions::SyncSessionsMetrics::RecordYoungestForeignTabAgeOnNTP(
diff --git a/chrome/browser/sync/sync_sessions_metrics_android.h b/chrome/browser/sync/sessions/sync_sessions_metrics_android.h
similarity index 61%
rename from chrome/browser/sync/sync_sessions_metrics_android.h
rename to chrome/browser/sync/sessions/sync_sessions_metrics_android.h
index 1e168219..9bd8664 100644
--- a/chrome/browser/sync/sync_sessions_metrics_android.h
+++ b/chrome/browser/sync/sessions/sync_sessions_metrics_android.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_SYNC_SYNC_SESSIONS_METRICS_ANDROID_H_
-#define CHROME_BROWSER_SYNC_SYNC_SESSIONS_METRICS_ANDROID_H_
+#ifndef CHROME_BROWSER_SYNC_SESSIONS_SYNC_SESSIONS_METRICS_ANDROID_H_
+#define CHROME_BROWSER_SYNC_SESSIONS_SYNC_SESSIONS_METRICS_ANDROID_H_
 
 #include <jni.h>
 
@@ -13,4 +13,4 @@
   static bool Register(JNIEnv* env);
 };
 
-#endif  // CHROME_BROWSER_SYNC_SYNC_SESSIONS_METRICS_ANDROID_H_
+#endif  // CHROME_BROWSER_SYNC_SESSIONS_SYNC_SESSIONS_METRICS_ANDROID_H_
diff --git a/chrome/browser/sync/test/integration/performance/sessions_sync_perf_test.cc b/chrome/browser/sync/test/integration/performance/sessions_sync_perf_test.cc
index c4c58526..4398d73 100644
--- a/chrome/browser/sync/test/integration/performance/sessions_sync_perf_test.cc
+++ b/chrome/browser/sync/test/integration/performance/sessions_sync_perf_test.cc
@@ -80,7 +80,7 @@
 
 int SessionsSyncPerfTest::GetTabCount(int profile) {
   int tab_count = 0;
-  const sync_driver::SyncedSession* local_session;
+  const sync_sessions::SyncedSession* local_session;
   SyncedSessionVector sessions;
 
   if (!GetLocalSession(profile, &local_session)) {
diff --git a/chrome/browser/sync/test/integration/sessions_helper.cc b/chrome/browser/sync/test/integration/sessions_helper.cc
index 88017734..763e647 100644
--- a/chrome/browser/sync/test/integration/sessions_helper.cc
+++ b/chrome/browser/sync/test/integration/sessions_helper.cc
@@ -7,6 +7,8 @@
 #include <stddef.h>
 
 #include <algorithm>
+#include <set>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/command_line.h"
@@ -61,7 +63,7 @@
   std::swap(*windows, windows_);
 }
 
-bool GetLocalSession(int index, const sync_driver::SyncedSession** session) {
+bool GetLocalSession(int index, const sync_sessions::SyncedSession** session) {
   return ProfileSyncServiceFactory::GetInstance()->GetForProfile(
       test()->GetProfile(index))->GetOpenTabsUIDelegate()->
           GetLocalSession(session);
@@ -69,7 +71,7 @@
 
 bool ModelAssociatorHasTabWithUrl(int index, const GURL& url) {
   content::RunAllPendingInMessageLoop();
-  const sync_driver::SyncedSession* local_session;
+  const sync_sessions::SyncedSession* local_session;
   if (!GetLocalSession(index, &local_session)) {
     return false;
   }
@@ -132,7 +134,7 @@
 
 namespace {
 
-class TabEventHandler : public browser_sync::LocalSessionEventHandler {
+class TabEventHandler : public sync_sessions::LocalSessionEventHandler {
  public:
   TabEventHandler() : weak_factory_(this) {
     base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
@@ -142,7 +144,7 @@
   }
 
   void OnLocalTabModified(
-      browser_sync::SyncedTabDelegate* modified_tab) override {
+      sync_sessions::SyncedTabDelegate* modified_tab) override {
     // Unwind to ensure SessionsSyncManager has processed the event.
     base::ThreadTaskRunnerHandle::Get()->PostTask(
         FROM_HERE,
@@ -183,7 +185,7 @@
       }
       if (!found) {
         TabEventHandler handler;
-        browser_sync::NotificationServiceSessionsRouter router(
+        sync_sessions::NotificationServiceSessionsRouter router(
             test()->GetProfile(index),
             ProfileSyncServiceFactory::GetInstance()
                 ->GetForProfile(test()->GetProfile(index))
@@ -201,7 +203,7 @@
 bool GetLocalWindows(int index, SessionWindowMap* local_windows) {
   // The local session provided by GetLocalSession is owned, and has lifetime
   // controlled, by the model associator, so we must make our own copy.
-  const sync_driver::SyncedSession* local_session;
+  const sync_sessions::SyncedSession* local_session;
   if (!GetLocalSession(index, &local_session)) {
     return false;
   }
@@ -242,7 +244,7 @@
 }
 
 int GetNumWindows(int index) {
-  const sync_driver::SyncedSession* local_session;
+  const sync_sessions::SyncedSession* local_session;
   if (!GetLocalSession(index, &local_session)) {
     return 0;
   }
@@ -271,8 +273,8 @@
   return true;
 }
 
-bool CompareSyncedSessions(const sync_driver::SyncedSession* lhs,
-                           const sync_driver::SyncedSession* rhs) {
+bool CompareSyncedSessions(const sync_sessions::SyncedSession* lhs,
+                           const sync_sessions::SyncedSession* rhs) {
   if (!lhs ||
       !rhs ||
       lhs->windows.size() < 1 ||
diff --git a/chrome/browser/sync/test/integration/sessions_helper.h b/chrome/browser/sync/test/integration/sessions_helper.h
index b997b70..d4e9b1d 100644
--- a/chrome/browser/sync/test/integration/sessions_helper.h
+++ b/chrome/browser/sync/test/integration/sessions_helper.h
@@ -6,6 +6,7 @@
 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SESSIONS_HELPER_H_
 
 #include <algorithm>
+#include <string>
 #include <vector>
 
 #include "base/compiler_specific.h"
@@ -18,8 +19,8 @@
 
 namespace sessions_helper {
 
-typedef std::vector<const sync_driver::SyncedSession*> SyncedSessionVector;
-typedef sync_driver::SyncedSession::SyncedWindowMap SessionWindowMap;
+typedef std::vector<const sync_sessions::SyncedSession*> SyncedSessionVector;
+typedef sync_sessions::SyncedSession::SyncedWindowMap SessionWindowMap;
 
 // Wrapper around a SyncedWindowMap that will automatically delete the
 // SessionWindow pointers it holds.
@@ -63,8 +64,8 @@
 
 // Compares a foreign session based on the first session window.
 // Returns true based on the comparison of the session windows.
-bool CompareSyncedSessions(const sync_driver::SyncedSession* lhs,
-                           const sync_driver::SyncedSession* rhs);
+bool CompareSyncedSessions(const sync_sessions::SyncedSession* lhs,
+                           const sync_sessions::SyncedSession* rhs);
 
 // Sort a SyncedSession vector using our custom SyncedSession comparator.
 void SortSyncedSessions(SyncedSessionVector* sessions);
@@ -117,7 +118,7 @@
 
 // Stores a pointer to the local session for a given profile in |session|.
 // Returns true on success, false on failure.
-bool GetLocalSession(int index, const sync_driver::SyncedSession** session);
+bool GetLocalSession(int index, const sync_sessions::SyncedSession** session);
 
 // Deletes the foreign session with tag |session_tag| from the profile specified
 // by |index|. This will affect all synced clients.
diff --git a/chrome/browser/ui/android/tab_model/tab_model.cc b/chrome/browser/ui/android/tab_model/tab_model.cc
index 52a8d2b..110fc8c 100644
--- a/chrome/browser/ui/android/tab_model/tab_model.cc
+++ b/chrome/browser/ui/android/tab_model/tab_model.cc
@@ -21,11 +21,10 @@
 static int INVALID_TAB_INDEX = -1;
 
 TabModel::TabModel(Profile* profile)
-  : profile_(profile),
-    live_tab_context_(new AndroidLiveTabContext(this)),
-    synced_window_delegate_(
-        new browser_sync::SyncedWindowDelegateAndroid(this)) {
-
+    : profile_(profile),
+      live_tab_context_(new AndroidLiveTabContext(this)),
+      synced_window_delegate_(
+          new browser_sync::SyncedWindowDelegateAndroid(this)) {
   if (profile) {
     // A normal Profile creates an OTR profile if it does not exist when
     // GetOffTheRecordProfile() is called, so we guard it with
@@ -57,7 +56,7 @@
   return is_off_the_record_;
 }
 
-browser_sync::SyncedWindowDelegate* TabModel::GetSyncedWindowDelegate() const {
+sync_sessions::SyncedWindowDelegate* TabModel::GetSyncedWindowDelegate() const {
   return synced_window_delegate_.get();
 }
 
@@ -69,7 +68,7 @@
   return session_id_;
 }
 
-sessions::LiveTabContext* TabModel::GetLiveTabContext() const{
+sessions::LiveTabContext* TabModel::GetLiveTabContext() const {
   return live_tab_context_.get();
 }
 
diff --git a/chrome/browser/ui/android/tab_model/tab_model.h b/chrome/browser/ui/android/tab_model/tab_model.h
index 8b53d38..18fd09e 100644
--- a/chrome/browser/ui/android/tab_model/tab_model.h
+++ b/chrome/browser/ui/android/tab_model/tab_model.h
@@ -17,7 +17,6 @@
 #include "content/public/browser/notification_registrar.h"
 
 namespace browser_sync {
-class SyncedWindowDelegate;
 class SyncedWindowDelegateAndroid;
 }
 
@@ -25,6 +24,10 @@
 class WebContents;
 }
 
+namespace sync_sessions {
+class SyncedWindowDelegate;
+}
+
 class Profile;
 class TabAndroid;
 
@@ -35,7 +38,7 @@
  public:
   virtual Profile* GetProfile() const;
   virtual bool IsOffTheRecord() const;
-  virtual browser_sync::SyncedWindowDelegate* GetSyncedWindowDelegate() const;
+  virtual sync_sessions::SyncedWindowDelegate* GetSyncedWindowDelegate() const;
   virtual SessionID::id_type GetSessionId() const;
   virtual const SessionID& SessionId() const;
   virtual sessions::LiveTabContext* GetLiveTabContext() const;
diff --git a/chrome/browser/ui/cocoa/app_menu/app_menu_controller_unittest.mm b/chrome/browser/ui/cocoa/app_menu/app_menu_controller_unittest.mm
index e1dafbd..308242f0 100644
--- a/chrome/browser/ui/cocoa/app_menu/app_menu_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/app_menu/app_menu_controller_unittest.mm
@@ -49,11 +49,11 @@
   MOCK_METHOD2(ExecuteCommand, void(int command_id, int event_flags));
 };
 
-class DummyRouter : public browser_sync::LocalSessionEventRouter {
+class DummyRouter : public sync_sessions::LocalSessionEventRouter {
  public:
   ~DummyRouter() override {}
   void StartRoutingTo(
-      browser_sync::LocalSessionEventHandler* handler) override {}
+      sync_sessions::LocalSessionEventHandler* handler) override {}
   void Stop() override {}
 };
 
@@ -77,12 +77,12 @@
     fake_model_.reset(new MockAppMenuModel);
 
     sync_prefs_.reset(new sync_driver::SyncPrefs(profile()->GetPrefs()));
-    manager_.reset(new browser_sync::SessionsSyncManager(
+    manager_.reset(new sync_sessions::SessionsSyncManager(
         ProfileSyncServiceFactory::GetForProfile(profile())
             ->GetSyncClient()
             ->GetSyncSessionsClient(),
         sync_prefs_.get(), local_device_.get(),
-        std::unique_ptr<browser_sync::LocalSessionEventRouter>(
+        std::unique_ptr<sync_sessions::LocalSessionEventRouter>(
             new DummyRouter()),
         base::Closure(), base::Closure()));
     manager_->MergeDataAndStartSyncing(
@@ -97,7 +97,7 @@
     helper->ExportToSessionsSyncManager(manager_.get());
   }
 
-  sync_driver::OpenTabsUIDelegate* GetOpenTabsDelegate() {
+  sync_sessions::OpenTabsUIDelegate* GetOpenTabsDelegate() {
     return manager_.get();
   }
 
@@ -118,7 +118,7 @@
 
  private:
   std::unique_ptr<sync_driver::SyncPrefs> sync_prefs_;
-  std::unique_ptr<browser_sync::SessionsSyncManager> manager_;
+  std::unique_ptr<sync_sessions::SessionsSyncManager> manager_;
   std::unique_ptr<sync_driver::LocalDeviceInfoProviderMock> local_device_;
 };
 
diff --git a/chrome/browser/ui/sync/browser_synced_window_delegate.cc b/chrome/browser/ui/sync/browser_synced_window_delegate.cc
index 912b20ba..57232ef 100644
--- a/chrome/browser/ui/sync/browser_synced_window_delegate.cc
+++ b/chrome/browser/ui/sync/browser_synced_window_delegate.cc
@@ -12,17 +12,15 @@
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "components/sessions/core/session_id.h"
 
-// BrowserSyncedWindowDelegate implementations
-
 BrowserSyncedWindowDelegate::BrowserSyncedWindowDelegate(Browser* browser)
     : browser_(browser) {}
 
 BrowserSyncedWindowDelegate::~BrowserSyncedWindowDelegate() {}
 
 bool BrowserSyncedWindowDelegate::IsTabPinned(
-    const browser_sync::SyncedTabDelegate* tab) const {
+    const sync_sessions::SyncedTabDelegate* tab) const {
   for (int i = 0; i < browser_->tab_strip_model()->count(); i++) {
-    browser_sync::SyncedTabDelegate* current = GetTabAt(i);
+    sync_sessions::SyncedTabDelegate* current = GetTabAt(i);
     if (tab == current)
       return browser_->tab_strip_model()->IsTabPinned(i);
   }
@@ -31,7 +29,7 @@
   return false;
 }
 
-browser_sync::SyncedTabDelegate* BrowserSyncedWindowDelegate::GetTabAt(
+sync_sessions::SyncedTabDelegate* BrowserSyncedWindowDelegate::GetTabAt(
     int index) const {
   return TabContentsSyncedTabDelegate::FromWebContents(
       browser_->tab_strip_model()->GetWebContentsAt(index));
diff --git a/chrome/browser/ui/sync/browser_synced_window_delegate.h b/chrome/browser/ui/sync/browser_synced_window_delegate.h
index d731923f..71cdcef6d3e 100644
--- a/chrome/browser/ui/sync/browser_synced_window_delegate.h
+++ b/chrome/browser/ui/sync/browser_synced_window_delegate.h
@@ -18,7 +18,7 @@
 
 // A BrowserSyncedWindowDelegate is the Browser-based implementation of
 // SyncedWindowDelegate.
-class BrowserSyncedWindowDelegate : public browser_sync::SyncedWindowDelegate {
+class BrowserSyncedWindowDelegate : public sync_sessions::SyncedWindowDelegate {
  public:
   explicit BrowserSyncedWindowDelegate(Browser* browser);
   ~BrowserSyncedWindowDelegate() override;
@@ -31,8 +31,8 @@
   bool IsApp() const override;
   bool IsTypeTabbed() const override;
   bool IsTypePopup() const override;
-  bool IsTabPinned(const browser_sync::SyncedTabDelegate* tab) const override;
-  browser_sync::SyncedTabDelegate* GetTabAt(int index) const override;
+  bool IsTabPinned(const sync_sessions::SyncedTabDelegate* tab) const override;
+  sync_sessions::SyncedTabDelegate* GetTabAt(int index) const override;
   SessionID::id_type GetTabIdAt(int index) const override;
   bool IsSessionRestoreInProgress() const override;
   bool ShouldSync() const override;
diff --git a/chrome/browser/ui/sync/browser_synced_window_delegates_getter.cc b/chrome/browser/ui/sync/browser_synced_window_delegates_getter.cc
index 5e6f66ca..23071670 100644
--- a/chrome/browser/ui/sync/browser_synced_window_delegates_getter.cc
+++ b/chrome/browser/ui/sync/browser_synced_window_delegates_getter.cc
@@ -16,9 +16,9 @@
     : profile_(profile) {}
 BrowserSyncedWindowDelegatesGetter::~BrowserSyncedWindowDelegatesGetter() {}
 
-std::set<const SyncedWindowDelegate*>
+std::set<const sync_sessions::SyncedWindowDelegate*>
 BrowserSyncedWindowDelegatesGetter::GetSyncedWindowDelegates() {
-  std::set<const SyncedWindowDelegate*> synced_window_delegates;
+  std::set<const sync_sessions::SyncedWindowDelegate*> synced_window_delegates;
   // Add all the browser windows.
   for (auto* browser : *BrowserList::GetInstance()) {
     if (browser->profile() != profile_)
@@ -28,8 +28,8 @@
   return synced_window_delegates;
 }
 
-const SyncedWindowDelegate* BrowserSyncedWindowDelegatesGetter::FindById(
-    SessionID::id_type id) {
+const sync_sessions::SyncedWindowDelegate*
+BrowserSyncedWindowDelegatesGetter::FindById(SessionID::id_type id) {
   Browser* browser = chrome::FindBrowserWithID(id);
   return (browser != nullptr) ? browser->synced_window_delegate() : nullptr;
 }
diff --git a/chrome/browser/ui/sync/browser_synced_window_delegates_getter.h b/chrome/browser/ui/sync/browser_synced_window_delegates_getter.h
index a1089c7..806d5e6 100644
--- a/chrome/browser/ui/sync/browser_synced_window_delegates_getter.h
+++ b/chrome/browser/ui/sync/browser_synced_window_delegates_getter.h
@@ -15,17 +15,18 @@
 
 namespace browser_sync {
 
-class SyncedWindowDelegate;
-
 // This class defines how to access SyncedWindowDelegates on desktop.
-class BrowserSyncedWindowDelegatesGetter : public SyncedWindowDelegatesGetter {
+class BrowserSyncedWindowDelegatesGetter
+    : public sync_sessions::SyncedWindowDelegatesGetter {
  public:
   explicit BrowserSyncedWindowDelegatesGetter(Profile* profile);
   ~BrowserSyncedWindowDelegatesGetter() override;
 
   // SyncedWindowDelegatesGetter implementation
-  std::set<const SyncedWindowDelegate*> GetSyncedWindowDelegates() override;
-  const SyncedWindowDelegate* FindById(SessionID::id_type id) override;
+  std::set<const sync_sessions::SyncedWindowDelegate*>
+  GetSyncedWindowDelegates() override;
+  const sync_sessions::SyncedWindowDelegate* FindById(
+      SessionID::id_type id) override;
 
  private:
   Profile* const profile_;
diff --git a/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h b/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h
index 0fff9e7..67b72ae3 100644
--- a/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h
+++ b/chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h
@@ -5,6 +5,9 @@
 #ifndef CHROME_BROWSER_UI_SYNC_TAB_CONTENTS_SYNCED_TAB_DELEGATE_H_
 #define CHROME_BROWSER_UI_SYNC_TAB_CONTENTS_SYNCED_TAB_DELEGATE_H_
 
+#include <string>
+#include <vector>
+
 #include "base/compiler_specific.h"
 #include "base/macros.h"
 #include "components/sessions/core/session_id.h"
@@ -16,7 +19,7 @@
 }
 
 class TabContentsSyncedTabDelegate
-    : public browser_sync::SyncedTabDelegate,
+    : public sync_sessions::SyncedTabDelegate,
       public content::WebContentsUserData<TabContentsSyncedTabDelegate> {
  public:
   ~TabContentsSyncedTabDelegate() override;
diff --git a/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.cc b/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.cc
index 1ee8e0f1..240fd2f 100644
--- a/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.cc
+++ b/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.cc
@@ -183,7 +183,7 @@
 }
 
 void RecentTabsBuilderTestHelper::ExportToSessionsSyncManager(
-    browser_sync::SessionsSyncManager* manager) {
+    sync_sessions::SessionsSyncManager* manager) {
   syncer::SyncChangeList changes;
   for (int s = 0; s < GetSessionCount(); ++s) {
     sync_pb::EntitySpecifics session_entity;
@@ -221,9 +221,9 @@
 }
 
 void RecentTabsBuilderTestHelper::VerifyExport(
-    sync_driver::OpenTabsUIDelegate* delegate) {
+    sync_sessions::OpenTabsUIDelegate* delegate) {
   // Make sure data is populated correctly in SessionModelAssociator.
-  std::vector<const sync_driver::SyncedSession*> sessions;
+  std::vector<const sync_sessions::SyncedSession*> sessions;
   ASSERT_TRUE(delegate->GetAllForeignSessions(&sessions));
   ASSERT_EQ(GetSessionCount(), static_cast<int>(sessions.size()));
   for (int s = 0; s < GetSessionCount(); ++s) {
diff --git a/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.h b/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.h
index 8256a1b..b7a020f8 100644
--- a/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.h
+++ b/chrome/browser/ui/toolbar/recent_tabs_builder_test_helper.h
@@ -12,18 +12,15 @@
 #include "base/time/time.h"
 #include "components/sessions/core/session_id.h"
 
-namespace browser_sync {
-class SessionsSyncManager;
-}
-
-namespace sync_driver {
-class OpenTabsUIDelegate;
-}
-
 namespace sync_pb {
 class SessionSpecifics;
 }
 
+namespace sync_sessions {
+class OpenTabsUIDelegate;
+class SessionsSyncManager;
+}
+
 // Utility class to help add recent tabs for testing.
 class RecentTabsBuilderTestHelper {
  public:
@@ -55,8 +52,7 @@
                        int window_index,
                        int tab_index);
 
-  void ExportToSessionsSyncManager(
-      browser_sync::SessionsSyncManager* manager);
+  void ExportToSessionsSyncManager(sync_sessions::SessionsSyncManager* manager);
 
   std::vector<base::string16> GetTabTitlesSortedByRecency();
 
@@ -70,7 +66,7 @@
                          int window_index,
                          int tab_index,
                          sync_pb::SessionSpecifics* tab_base);
-  void VerifyExport(sync_driver::OpenTabsUIDelegate* delegate);
+  void VerifyExport(sync_sessions::OpenTabsUIDelegate* delegate);
 
   struct TabInfo;
   struct WindowInfo;
diff --git a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc
index dc6264c..5f05b86 100644
--- a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc
+++ b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc
@@ -85,8 +85,8 @@
 
 // Comparator function for use with std::sort that will sort sessions by
 // descending modified_time (i.e., most recent first).
-bool SortSessionsByRecency(const sync_driver::SyncedSession* s1,
-                           const sync_driver::SyncedSession* s2) {
+bool SortSessionsByRecency(const sync_sessions::SyncedSession* s1,
+                           const sync_sessions::SyncedSession* s2) {
   return s1->modified_time > s2->modified_time;
 }
 
@@ -180,13 +180,14 @@
 RecentTabsSubMenuModel::RecentTabsSubMenuModel(
     ui::AcceleratorProvider* accelerator_provider,
     Browser* browser,
-    sync_driver::OpenTabsUIDelegate* open_tabs_delegate)
+    sync_sessions::OpenTabsUIDelegate* open_tabs_delegate)
     : ui::SimpleMenuModel(this),
       browser_(browser),
       open_tabs_delegate_(open_tabs_delegate),
       last_local_model_index_(kHistorySeparatorIndex),
-      default_favicon_(ui::ResourceBundle::GetSharedInstance().
-                       GetNativeImageNamed(IDR_DEFAULT_FAVICON)),
+      default_favicon_(
+          ui::ResourceBundle::GetSharedInstance().GetNativeImageNamed(
+              IDR_DEFAULT_FAVICON)),
       weak_ptr_factory_(this) {
   // Invoke asynchronous call to load tabs from local last session, which does
   // nothing if the tabs have already been loaded or they shouldn't be loaded.
@@ -317,7 +318,7 @@
         service->RestoreEntryById(context, item.tab_id, disposition);
       }
     } else {  // Restore tab of session from other devices.
-      sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
+      sync_sessions::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
       if (!open_tabs)
         return;
       const sessions::SessionTab* tab;
@@ -476,8 +477,8 @@
   // a menu item, because they are always only built once (i.e. invoked from
   // Constructor()) and don't change after that.
 
-  sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
-  std::vector<const sync_driver::SyncedSession*> sessions;
+  sync_sessions::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
+  std::vector<const sync_sessions::SyncedSession*> sessions;
   if (!open_tabs || !open_tabs->GetAllForeignSessions(&sessions)) {
     AddSeparator(ui::NORMAL_SEPARATOR);
     AddItemWithStringId(IDC_RECENT_TABS_NO_DEVICE_TABS,
@@ -492,7 +493,7 @@
   size_t num_sessions_added = 0;
   for (size_t i = 0;
        i < sessions.size() && num_sessions_added < kMaxSessionsToShow; ++i) {
-    const sync_driver::SyncedSession* session = sessions[i];
+    const sync_sessions::SyncedSession* session = sessions[i];
     const std::string& session_tag = session->session_tag;
 
     // Collect tabs from all windows of the session, ordered by recency.
@@ -578,24 +579,24 @@
 
 void RecentTabsSubMenuModel::AddDeviceFavicon(
     int index_in_menu,
-    sync_driver::SyncedSession::DeviceType device_type) {
+    sync_sessions::SyncedSession::DeviceType device_type) {
 #if defined(OS_MACOSX)
   int favicon_id = -1;
   switch (device_type) {
-    case sync_driver::SyncedSession::TYPE_PHONE:
+    case sync_sessions::SyncedSession::TYPE_PHONE:
       favicon_id = IDR_PHONE_FAVICON;
       break;
 
-    case sync_driver::SyncedSession::TYPE_TABLET:
+    case sync_sessions::SyncedSession::TYPE_TABLET:
       favicon_id = IDR_TABLET_FAVICON;
       break;
 
-    case sync_driver::SyncedSession::TYPE_CHROMEOS:
-    case sync_driver::SyncedSession::TYPE_WIN:
-    case sync_driver::SyncedSession::TYPE_MACOSX:
-    case sync_driver::SyncedSession::TYPE_LINUX:
-    case sync_driver::SyncedSession::TYPE_OTHER:
-    case sync_driver::SyncedSession::TYPE_UNSET:
+    case sync_sessions::SyncedSession::TYPE_CHROMEOS:
+    case sync_sessions::SyncedSession::TYPE_WIN:
+    case sync_sessions::SyncedSession::TYPE_MACOSX:
+    case sync_sessions::SyncedSession::TYPE_LINUX:
+    case sync_sessions::SyncedSession::TYPE_OTHER:
+    case sync_sessions::SyncedSession::TYPE_UNSET:
       favicon_id = IDR_LAPTOP_FAVICON;
       break;
   }
@@ -605,20 +606,20 @@
 #else
   gfx::VectorIconId favicon_id = gfx::VectorIconId::VECTOR_ICON_NONE;
   switch (device_type) {
-    case sync_driver::SyncedSession::TYPE_PHONE:
+    case sync_sessions::SyncedSession::TYPE_PHONE:
       favicon_id = gfx::VectorIconId::SMARTPHONE;
       break;
 
-    case sync_driver::SyncedSession::TYPE_TABLET:
+    case sync_sessions::SyncedSession::TYPE_TABLET:
       favicon_id = gfx::VectorIconId::TABLET;
       break;
 
-    case sync_driver::SyncedSession::TYPE_CHROMEOS:
-    case sync_driver::SyncedSession::TYPE_WIN:
-    case sync_driver::SyncedSession::TYPE_MACOSX:
-    case sync_driver::SyncedSession::TYPE_LINUX:
-    case sync_driver::SyncedSession::TYPE_OTHER:
-    case sync_driver::SyncedSession::TYPE_UNSET:
+    case sync_sessions::SyncedSession::TYPE_CHROMEOS:
+    case sync_sessions::SyncedSession::TYPE_WIN:
+    case sync_sessions::SyncedSession::TYPE_MACOSX:
+    case sync_sessions::SyncedSession::TYPE_LINUX:
+    case sync_sessions::SyncedSession::TYPE_OTHER:
+    case sync_sessions::SyncedSession::TYPE_UNSET:
       favicon_id = gfx::VectorIconId::LAPTOP;
       break;
   }
@@ -637,7 +638,7 @@
     // --sync-tab-favicons switch is on; according to zea@, this flag is now
     // automatically enabled for iOS and android, and they're looking into
     // enabling it for other platforms.
-    sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
+    sync_sessions::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate();
     scoped_refptr<base::RefCountedMemory> favicon_png;
     if (open_tabs &&
         open_tabs->GetSyncedFaviconForPageURL(url.spec(), &favicon_png)) {
@@ -707,7 +708,7 @@
   local_window_items_.clear();
 }
 
-sync_driver::OpenTabsUIDelegate*
+sync_sessions::OpenTabsUIDelegate*
 RecentTabsSubMenuModel::GetOpenTabsUIDelegate() {
   if (!open_tabs_delegate_) {
     ProfileSyncService* service = ProfileSyncServiceFactory::GetInstance()->
diff --git a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h
index ca5b0be..0c5b74c1 100644
--- a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h
+++ b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h
@@ -20,10 +20,6 @@
 
 class Browser;
 
-namespace sync_driver {
-class OpenTabsUIDelegate;
-}
-
 namespace favicon_base {
 struct FaviconImageResult;
 }
@@ -36,6 +32,10 @@
 struct SessionTab;
 }
 
+namespace sync_sessions {
+class OpenTabsUIDelegate;
+}
+
 namespace ui {
 class AcceleratorProvider;
 }
@@ -60,7 +60,7 @@
   // profile will be used. Testing may require a specific |open_tabs_delegate|.
   RecentTabsSubMenuModel(ui::AcceleratorProvider* accelerator_provider,
                          Browser* browser,
-                         sync_driver::OpenTabsUIDelegate* open_tabs_delegate);
+                         sync_sessions::OpenTabsUIDelegate* open_tabs_delegate);
   ~RecentTabsSubMenuModel() override;
 
   // Overridden from ui::SimpleMenuModel::Delegate:
@@ -110,7 +110,7 @@
 
   // Add the favicon for the device section header.
   void AddDeviceFavicon(int index_in_menu,
-                        sync_driver::SyncedSession::DeviceType device_type);
+                        sync_sessions::SyncedSession::DeviceType device_type);
 
   // Add the favicon for a local or other devices' tab asynchronously,
   // OnFaviconDataAvailable() will be invoked when the favicon is ready.
@@ -132,7 +132,7 @@
   // can always skip going through the function and access the field directly.
   // Consider instead having code just deal with potentially NULL open_tabs_
   // and have it initialized by an event / callback.
-  sync_driver::OpenTabsUIDelegate* GetOpenTabsUIDelegate();
+  sync_sessions::OpenTabsUIDelegate* GetOpenTabsUIDelegate();
 
   // Overridden from TabRestoreServiceObserver:
   void TabRestoreServiceChanged(sessions::TabRestoreService* service) override;
@@ -141,7 +141,7 @@
 
   Browser* browser_;  // Weak.
 
-  sync_driver::OpenTabsUIDelegate* open_tabs_delegate_;  // Weak.
+  sync_sessions::OpenTabsUIDelegate* open_tabs_delegate_;  // Weak.
 
   // Accelerator for reopening last closed tab.
   ui::Accelerator reopen_closed_tab_accelerator_;
diff --git a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc
index e4b4581..b30e482 100644
--- a/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc
+++ b/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc
@@ -53,7 +53,7 @@
  public:
   TestRecentTabsSubMenuModel(ui::AcceleratorProvider* provider,
                              Browser* browser,
-                             sync_driver::OpenTabsUIDelegate* delegate)
+                             sync_sessions::OpenTabsUIDelegate* delegate)
       : RecentTabsSubMenuModel(provider, browser, delegate),
         execute_count_(0),
         enable_count_(0) {}
@@ -107,11 +107,11 @@
   DISALLOW_COPY_AND_ASSIGN(TestRecentTabsMenuModelDelegate);
 };
 
-class DummyRouter : public browser_sync::LocalSessionEventRouter {
+class DummyRouter : public sync_sessions::LocalSessionEventRouter {
  public:
   ~DummyRouter() override {}
   void StartRoutingTo(
-      browser_sync::LocalSessionEventHandler* handler) override {}
+      sync_sessions::LocalSessionEventHandler* handler) override {}
   void Stop() override {}
 };
 
@@ -130,10 +130,10 @@
             sync_pb::SyncEnums_DeviceType_TYPE_LINUX,
             "device_id")) {
     sync_prefs_.reset(new sync_driver::SyncPrefs(testing_profile_.GetPrefs()));
-    manager_.reset(new browser_sync::SessionsSyncManager(
+    manager_.reset(new sync_sessions::SessionsSyncManager(
         sync_service_.GetSyncClient()->GetSyncSessionsClient(),
         sync_prefs_.get(), local_device_.get(),
-        std::unique_ptr<browser_sync::LocalSessionEventRouter>(
+        std::unique_ptr<sync_sessions::LocalSessionEventRouter>(
             new DummyRouter()),
         base::Closure(), base::Closure()));
     manager_->MergeDataAndStartSyncing(
@@ -156,7 +156,7 @@
         nullptr);
   }
 
-  sync_driver::OpenTabsUIDelegate* GetOpenTabsDelegate() {
+  sync_sessions::OpenTabsUIDelegate* GetOpenTabsDelegate() {
     return manager_.get();
   }
 
@@ -168,7 +168,7 @@
   TestingProfile testing_profile_;
   ProfileSyncServiceMock sync_service_;
   std::unique_ptr<sync_driver::SyncPrefs> sync_prefs_;
-  std::unique_ptr<browser_sync::SessionsSyncManager> manager_;
+  std::unique_ptr<sync_sessions::SessionsSyncManager> manager_;
   std::unique_ptr<sync_driver::LocalDeviceInfoProviderMock> local_device_;
 };
 
diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui/favicon_source.cc
index 44425ac..21b6f741 100644
--- a/chrome/browser/ui/webui/favicon_source.cc
+++ b/chrome/browser/ui/webui/favicon_source.cc
@@ -149,7 +149,7 @@
   // If the favicon is not available, try to use the synced favicon.
   ProfileSyncService* sync_service =
       ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile_);
-  sync_driver::OpenTabsUIDelegate* open_tabs =
+  sync_sessions::OpenTabsUIDelegate* open_tabs =
       sync_service ? sync_service->GetOpenTabsUIDelegate() : nullptr;
 
   scoped_refptr<base::RefCountedMemory> response;
diff --git a/chrome/browser/ui/webui/foreign_session_handler.cc b/chrome/browser/ui/webui/foreign_session_handler.cc
index c104bd3..cf10fc2 100644
--- a/chrome/browser/ui/webui/foreign_session_handler.cc
+++ b/chrome/browser/ui/webui/foreign_session_handler.cc
@@ -145,7 +145,7 @@
     SessionID::id_type window_num,
     SessionID::id_type tab_id,
     const WindowOpenDisposition& disposition) {
-  sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(web_ui);
+  sync_sessions::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(web_ui);
   if (!open_tabs)
     return;
 
@@ -169,7 +169,7 @@
     content::WebUI* web_ui,
     const std::string& session_string_value,
     SessionID::id_type window_num) {
-  sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(web_ui);
+  sync_sessions::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(web_ui);
   if (!open_tabs)
     return;
 
@@ -191,7 +191,7 @@
 }
 
 // static
-sync_driver::OpenTabsUIDelegate* ForeignSessionHandler::GetOpenTabsUIDelegate(
+sync_sessions::OpenTabsUIDelegate* ForeignSessionHandler::GetOpenTabsUIDelegate(
     content::WebUI* web_ui) {
   Profile* profile = Profile::FromWebUI(web_ui);
   ProfileSyncService* service =
@@ -255,8 +255,9 @@
 
 void ForeignSessionHandler::HandleGetForeignSessions(
     const base::ListValue* /*args*/) {
-  sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(web_ui());
-  std::vector<const sync_driver::SyncedSession*> sessions;
+  sync_sessions::OpenTabsUIDelegate* open_tabs =
+      GetOpenTabsUIDelegate(web_ui());
+  std::vector<const sync_sessions::SyncedSession*> sessions;
 
   base::ListValue session_list;
   if (open_tabs && open_tabs->GetAllForeignSessions(&sessions)) {
@@ -278,7 +279,7 @@
 
     // Note: we don't own the SyncedSessions themselves.
     for (size_t i = 0; i < sessions.size() && i < kMaxSessionsToShow; ++i) {
-      const sync_driver::SyncedSession* session = sessions[i];
+      const sync_sessions::SyncedSession* session = sessions[i];
       const std::string& session_tag = session->session_tag;
       std::unique_ptr<base::DictionaryValue> session_data(
           new base::DictionaryValue());
@@ -403,7 +404,8 @@
     return;
   }
 
-  sync_driver::OpenTabsUIDelegate* open_tabs = GetOpenTabsUIDelegate(web_ui());
+  sync_sessions::OpenTabsUIDelegate* open_tabs =
+      GetOpenTabsUIDelegate(web_ui());
   if (open_tabs)
     open_tabs->DeleteForeignSession(session_tag);
 }
diff --git a/chrome/browser/ui/webui/foreign_session_handler.h b/chrome/browser/ui/webui/foreign_session_handler.h
index 37fae2c..6c48687 100644
--- a/chrome/browser/ui/webui/foreign_session_handler.h
+++ b/chrome/browser/ui/webui/foreign_session_handler.h
@@ -56,7 +56,7 @@
                                         SessionID::id_type window_num);
 
   // Returns a pointer to the current session model associator or NULL.
-  static sync_driver::OpenTabsUIDelegate* GetOpenTabsUIDelegate(
+  static sync_sessions::OpenTabsUIDelegate* GetOpenTabsUIDelegate(
       content::WebUI* web_ui);
 
  private:
diff --git a/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc b/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
index 7a0910f..cac5d56 100644
--- a/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc
@@ -189,8 +189,8 @@
     ProfileSyncService* sync = ProfileSyncServiceFactory::GetForProfile(
         Profile::FromBrowserContext(contents->GetBrowserContext()));
     if (sync) {
-      browser_sync::SessionsSyncManager* sessions =
-          static_cast<browser_sync::SessionsSyncManager*>(
+      sync_sessions::SessionsSyncManager* sessions =
+          static_cast<sync_sessions::SessionsSyncManager*>(
               sync->GetSessionsSyncableService());
       if (sessions) {
         sync_sessions::SyncSessionsMetrics::RecordYoungestForeignTabAgeOnNTP(