Revert 168224 - Update V8 to version 3.15.4.
[chromium-blink-merge.git] / chrome / browser / sync / glue / synced_window_delegate_android.cc
blob68ef69a88f3b644baae654f6b5d90b25c63a4328
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/profiles/profile.h"
8 #include "chrome/browser/ui/android/tab_model/tab_model.h"
9 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
10 #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h"
11 #include "chrome/browser/sessions/session_id.h"
12 #include "content/public/browser/web_contents.h"
14 namespace browser_sync {
16 // SyncedWindowDelegate implementations
18 const std::set<SyncedWindowDelegate*>
19 SyncedWindowDelegate::GetSyncedWindowDelegates() {
20 std::set<SyncedWindowDelegate*> synced_window_delegates;
21 for (TabModelList::const_iterator i = TabModelList::begin();
22 i != TabModelList::end(); ++i) {
23 synced_window_delegates.insert((*i)->GetSyncedWindowDelegate());
25 return synced_window_delegates;
28 const SyncedWindowDelegate*
29 SyncedWindowDelegate::FindSyncedWindowDelegateWithId(
30 SessionID::id_type session_id) {
31 TabModel* tab_model = TabModelList::FindTabModelWithId(
32 session_id);
34 // In case we don't find the browser (e.g. for Developer Tools).
35 return tab_model ? tab_model->GetSyncedWindowDelegate() : NULL;
38 // SyncedWindowDelegateAndroid implementations
40 SyncedWindowDelegateAndroid::SyncedWindowDelegateAndroid(
41 TabModel* tab_model)
42 : tab_model_(tab_model) {}
44 SyncedWindowDelegateAndroid::~SyncedWindowDelegateAndroid() {}
46 bool SyncedWindowDelegateAndroid::HasWindow() const {
47 return !tab_model_->GetProfile()->IsOffTheRecord();
50 SessionID::id_type SyncedWindowDelegateAndroid::GetSessionId() const {
51 return tab_model_->GetSessionId();
54 int SyncedWindowDelegateAndroid::GetTabCount() const {
55 return tab_model_->GetTabCount();
58 int SyncedWindowDelegateAndroid::GetActiveIndex() const {
59 return tab_model_->GetActiveIndex();
62 bool SyncedWindowDelegateAndroid::IsApp() const {
63 return false;
66 bool SyncedWindowDelegateAndroid::IsTypeTabbed() const {
67 return true;
70 bool SyncedWindowDelegateAndroid::IsTypePopup() const {
71 return false;
74 bool SyncedWindowDelegateAndroid::IsTabPinned(
75 const SyncedTabDelegate* tab) const {
76 return false;
79 SyncedTabDelegate* SyncedWindowDelegateAndroid::GetTabAt(int index) const {
80 content::WebContents* web_contents = tab_model_->GetWebContentsAt(index);
81 return web_contents ? TabContentsSyncedTabDelegate::FromWebContents(
82 web_contents) : NULL;
85 SessionID::id_type SyncedWindowDelegateAndroid::GetTabIdAt(int index) const {
86 return tab_model_->GetTabIdAt(index);
89 bool SyncedWindowDelegateAndroid::IsSessionRestoreInProgress() const {
90 return tab_model_->IsSessionRestoreInProgress();
93 } // namespace browser_sync