1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/sync/glue/synced_window_delegate_android.h"
7 #include "chrome/browser/android/tab_android.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/sync/glue/synced_tab_delegate_android.h"
10 #include "chrome/browser/ui/android/tab_model/tab_model.h"
11 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
12 #include "content/public/browser/web_contents.h"
14 namespace browser_sync
{
16 // SyncedWindowDelegateAndroid implementations
18 SyncedWindowDelegateAndroid::SyncedWindowDelegateAndroid(
20 : tab_model_(tab_model
) {}
22 SyncedWindowDelegateAndroid::~SyncedWindowDelegateAndroid() {}
24 bool SyncedWindowDelegateAndroid::HasWindow() const {
25 return !tab_model_
->IsOffTheRecord();
28 SessionID::id_type
SyncedWindowDelegateAndroid::GetSessionId() const {
29 return tab_model_
->GetSessionId();
32 int SyncedWindowDelegateAndroid::GetTabCount() const {
33 return tab_model_
->GetTabCount();
36 int SyncedWindowDelegateAndroid::GetActiveIndex() const {
37 return tab_model_
->GetActiveIndex();
40 bool SyncedWindowDelegateAndroid::IsApp() const {
44 bool SyncedWindowDelegateAndroid::IsTypeTabbed() const {
48 bool SyncedWindowDelegateAndroid::IsTypePopup() const {
52 bool SyncedWindowDelegateAndroid::IsTabPinned(
53 const SyncedTabDelegate
* tab
) const {
57 SyncedTabDelegate
* SyncedWindowDelegateAndroid::GetTabAt(int index
) const {
58 // After a restart, it is possible for the Tab to be null during startup.
59 TabAndroid
* tab
= tab_model_
->GetTabAt(index
);
60 return tab
? tab
->GetSyncedTabDelegate() : NULL
;
63 SessionID::id_type
SyncedWindowDelegateAndroid::GetTabIdAt(int index
) const {
64 SyncedTabDelegate
* tab
= GetTabAt(index
);
65 return tab
? tab
->GetSessionId() : -1;
68 bool SyncedWindowDelegateAndroid::IsSessionRestoreInProgress() const {
69 return tab_model_
->IsSessionRestoreInProgress();
72 bool SyncedWindowDelegateAndroid::ShouldSync() const {
76 } // namespace browser_sync