fake_base_tab_strip_controller.cc revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1d93256e55673a17d18543397ec462416acb13792Douglas Gregor// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor// Use of this source code is governed by a BSD-style license that can be
35352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor// found in the LICENSE file.
45352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
55352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor#include "chrome/browser/ui/views/tabs/fake_base_tab_strip_controller.h"
65352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
75352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor#include "chrome/browser/ui/views/tabs/tab_renderer_data.h"
85352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor#include "chrome/browser/ui/views/tabs/tab_strip.h"
95352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
105352ac06d8f6194825bb2a99ffa009b61bafb503Douglas GregorFakeBaseTabStripController::FakeBaseTabStripController()
115352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor    : tab_strip_(NULL),
125352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor      num_tabs_(0),
135352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor      active_index_(-1) {
145352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
155352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
165352ac06d8f6194825bb2a99ffa009b61bafb503Douglas GregorFakeBaseTabStripController::~FakeBaseTabStripController() {
175352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
185352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
195352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorvoid FakeBaseTabStripController::AddTab(int index, bool is_active) {
20d93256e55673a17d18543397ec462416acb13792Douglas Gregor  num_tabs_++;
21d93256e55673a17d18543397ec462416acb13792Douglas Gregor  tab_strip_->AddTabAt(index, TabRendererData(), is_active);
22d93256e55673a17d18543397ec462416acb13792Douglas Gregor  if (is_active)
23d93256e55673a17d18543397ec462416acb13792Douglas Gregor    active_index_ = index;
245352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
255352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
26d93256e55673a17d18543397ec462416acb13792Douglas Gregorvoid FakeBaseTabStripController::RemoveTab(int index) {
2735b8440f615a2336f2819a98a78fc89f07d905e1Daniel Dunbar  num_tabs_--;
285352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  tab_strip_->RemoveTabAt(index);
295352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  if (active_index_ == index)
305352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor    active_index_ = -1;
315352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
325352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
335352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorconst ui::ListSelectionModel& FakeBaseTabStripController::GetSelectionModel() {
345352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  return selection_model_;
355352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
365352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
374914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbarint FakeBaseTabStripController::GetCount() const {
385352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  return num_tabs_;
395352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
405352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
415352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorbool FakeBaseTabStripController::IsValidIndex(int index) const {
424914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbar  return index >= 0 && index < num_tabs_;
435352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
445352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
455352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorbool FakeBaseTabStripController::IsActiveTab(int index) const {
465352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  if (!IsValidIndex(index))
475352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor    return false;
485352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  return active_index_ == index;
494914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbar}
504914612675787cda11ad6b31735e130a81a1d7a1Daniel Dunbar
515352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregorint FakeBaseTabStripController::GetActiveIndex() const {
525352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  return active_index_;
535352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
54d93256e55673a17d18543397ec462416acb13792Douglas Gregor
55d93256e55673a17d18543397ec462416acb13792Douglas Gregorbool FakeBaseTabStripController::IsTabSelected(int index) const {
56d93256e55673a17d18543397ec462416acb13792Douglas Gregor  return false;
57d93256e55673a17d18543397ec462416acb13792Douglas Gregor}
58d93256e55673a17d18543397ec462416acb13792Douglas Gregor
59d93256e55673a17d18543397ec462416acb13792Douglas Gregorbool FakeBaseTabStripController::IsTabPinned(int index) const {
60d93256e55673a17d18543397ec462416acb13792Douglas Gregor  return false;
6135b8440f615a2336f2819a98a78fc89f07d905e1Daniel Dunbar}
6235b8440f615a2336f2819a98a78fc89f07d905e1Daniel Dunbar
63d93256e55673a17d18543397ec462416acb13792Douglas Gregorbool FakeBaseTabStripController::IsNewTabPage(int index) const {
645352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor  return false;
655352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor}
665352ac06d8f6194825bb2a99ffa009b61bafb503Douglas Gregor
67void FakeBaseTabStripController::SelectTab(int index) {
68}
69
70void FakeBaseTabStripController::ExtendSelectionTo(int index) {
71}
72
73void FakeBaseTabStripController::ToggleSelected(int index) {
74}
75
76void FakeBaseTabStripController::AddSelectionFromAnchorTo(int index) {
77}
78
79void FakeBaseTabStripController::CloseTab(int index, CloseTabSource source) {
80}
81
82void FakeBaseTabStripController::ShowContextMenuForTab(
83    Tab* tab,
84    const gfx::Point& p,
85    ui::MenuSourceType source_type) {
86}
87
88void FakeBaseTabStripController::UpdateLoadingAnimations() {
89}
90
91int FakeBaseTabStripController::HasAvailableDragActions() const {
92  return 0;
93}
94
95void FakeBaseTabStripController::OnDropIndexUpdate(int index,
96                                                   bool drop_before) {
97}
98
99void FakeBaseTabStripController::PerformDrop(bool drop_before,
100                                             int index,
101                                             const GURL& url) {
102}
103
104bool FakeBaseTabStripController::IsCompatibleWith(TabStrip* other) const {
105  return false;
106}
107
108void FakeBaseTabStripController::CreateNewTab() {
109}
110
111void FakeBaseTabStripController::CreateNewTabWithLocation(
112    const base::string16& location) {
113}
114
115bool FakeBaseTabStripController::IsIncognito() {
116  return false;
117}
118
119void FakeBaseTabStripController::StackedLayoutMaybeChanged() {
120}
121
122void FakeBaseTabStripController::OnStartedDraggingTabs() {
123}
124
125void FakeBaseTabStripController::OnStoppedDraggingTabs() {
126}
127
128void FakeBaseTabStripController::CheckFileSupported(const GURL& url) {
129  tab_strip_->FileSupported(url, true);
130}
131